io.github.egorthinks/perception
perception
Is the io.github.egorthinks/perception MCP server down? No. Installed with mcp<2, it started and listed its tools on 2026-11-08.
Perception for AI agents: media QC asserts, image diff, OCR tiles, video/audio analysis, PDF, 3D.
needs mcp<2 probed 2026-11-14 · unchanged since 2026-11-08
A plain install of the package stops at the import below. These tool definitions are from a second install with mcp<2, started in a container with the network off, on 2026-11-08.
MCP error -32000: Connection closed ModuleNotFoundError: No module named 'mcp.server.fastmcp'. This is mcp 2.x, where FastMCP was renamed to MCPServer (from mcp
- Run it
- uvx --with 'mcp<2' perception-mcp@0.1.7 (stdio, probed in a container with the network off)
- Host
- pypi.org
- Reports itself as
- perception 1.30.0
- Capabilities
- experimental, prompts, resources, tools
- Repository
- https://github.com/egorthinks/perception-mcp
- Registry
- active, updated 2026-07-18 · registry entry
- Changes
- 2 recorded, reachable in 0 of them. A row is added when the result, the tool count or the cost changes.
Most expensive tools
Estimates with the o200k_base tokenizer.
| Tool | o200k estimate | Share of this server |
|---|---|---|
| media_assert | 532 | 38 % |
| find_media | 474 | 34 % |
| view_media | 384 | 28 % |
Compare this server with others.
More servers
Other registry entries on pypi.org, the ones next to this name; all of them.
- Runspector — AI running coach for Garmin io.github.edxleon/runspector · alive
- Lomberk io.github.ege-usta/lomberk · needs env
- io.github.eghuzefa/engineer-your-data · crashed on start
- Telegram Context MCP io.github.egor-fedorov/telegram-mcp · crashed on start
- io.github.egoughnour/code-firewall-mcp · needs env
- io.github.egoughnour/cowork-history · alive
- Curate-Ipsum io.github.egoughnour/curate-ipsum · needs env
- io.github.egoughnour/massive-context-mcp · needs network
Servers that mention perception.
- CaptureOneAI Web Perception com.captureoneai/web-perception · alive
- E2LLM com.e2llm/element-to-llm · needs auth
- com.geiant/mcp-perception · alive
- Perception io.github.fernikolic/perception · needs auth
- SSTIM MCP: Senses, Stimuli and Perception io.github.w3c-cg/sstim · alive
- io.github.c64dos-png/vector-mirror · alive
- Audio MCP io.github.mshark1/audio-mcp · alive
- io.github.afferens/mcp-server · alive
History
We add a row when the result changes. A server with no change keeps its last row.
| Probed | Result | Init | Tools | Claude | o200k |
|---|---|---|---|---|---|
| 2026-11-08 08:02 | needs mcp<2 | 2.0 s | 3 | 2.2k | 1.4k |
| 2026-10-18 06:39 | crashed on start |
Badge for the README
The result of the latest probe, the tool count and the token cost. The feed has an entry for every probe that changed them.
A mail when this server changes
Stops answering, comes back, tool set or cost changes. One confirmation mail first, a stop link in every mail.
For the publisher
- The package imports FastMCP from mcp.server.fastmcp. mcp 2.0, the Python SDK of 28 July 2026, renamed FastMCP to MCPServer, and the package asks for mcp with no upper bound, so a plain install (uvx, pip) gets mcp 2.x and the server stops at the import. Installed with mcp<2, it starts and lists its tools. The fix for the publisher: pin mcp<2 in the dependencies, for example mcp>=1.2,<2, and publish a new version, or move to MCPServer as the SDK's migration guide says. Until then, run it with uvx --with 'mcp<2'.
The cause and the fix, with the code before and after: ModuleNotFoundError: No module named 'mcp.server.fastmcp'