Python MCP server error: 'Server' object has no attribute 'list_tools' / 'list_resources'

7 of the PyPI MCP servers we tested crashed on startup after a fresh install. The errors point to the API change in version 2.x of the mcp Python SDK.

Last tested 2026-10-22

How we test: methodology. Not tested by us: security, output quality, and behaviour with real credentials.

Affected servers and verbatim errors

PackageVersionError (verbatim)Tested
Postgres MCP Pro (Crystal DBA)
postgres-mcp
0.3.0AttributeError: 'Server' object has no attribute 'list_resources'2026-10-22
Fetch (Python alt)
mcp-server-fetch-python
0.1.1AttributeError: 'Server' object has no attribute 'list_tools'2026-10-22
Tree-sitter
mcp-server-tree-sitter
0.7.0ModuleNotFoundError: No module named 'mcp.server.fastmcp'. This is mcp 2.x, where FastMCP was renamed to MCPServer (from mcp.server.mcpserver import MCPServer) and other APIs changed; see the migration guide at https://py.sdk.modelcontextprotocol.io/v2/migration/#fastmcp-renamed-to-mcpserver or pin 'mcp<2' to keep running v1 code.2026-10-22
SQLite (legacy reference, Python)
mcp-server-sqlite
2025.4.25AttributeError: 'Server' object has no attribute 'list_resources'2026-10-22
Playwright (Python)
playwright-mcp-server
0.1.0ModuleNotFoundError: No module named 'mcp.server.fastmcp'. This is mcp 2.x, where FastMCP was renamed to MCPServer (from mcp.server.mcpserver import MCPServer) and other APIs changed; see the migration guide at https://py.sdk.modelcontextprotocol.io/v2/migration/#fastmcp-renamed-to-mcpserver or pin 'mcp<2' to keep running v1 code.2026-10-22
Office Word
mcp-server-office
0.2.0AttributeError: 'Server' object has no attribute 'list_tools'2026-10-22
Kubernetes (Python)
mcp-server-kubernetes
0.1.6ModuleNotFoundError: No module named 'mcp.server.fastmcp'. This is mcp 2.x, where FastMCP was renamed to MCPServer (from mcp.server.mcpserver import MCPServer) and other APIs changed; see the migration guide at https://py.sdk.modelcontextprotocol.io/v2/migration/#fastmcp-renamed-to-mcpserver or pin 'mcp<2' to keep running v1 code.2026-10-22

Possible fix untested

The mcp 2.x error text suggests pinning the SDK to v1. We have not verified this fix: we have not rerun these servers with the pin. If you try it, install the server with an upper bound, for example:

uv pip install <package> 'mcp<2'

Or use a maintained alternative from our lists: Postgres MCP servers · best free MCP servers. Source: State of MCP, October 2026.

FAQ

Why does my Python MCP server fail with 'Server' object has no attribute 'list_tools' or 'list_resources'?

In our 2026-10-22 tests, 7 PyPI MCP servers crashed on startup on a fresh install: 4 with AttributeError: 'Server' object has no attribute ..., and 3 with No module named 'mcp.server.fastmcp'. The errors point to the API change in version 2.x of the mcp Python SDK; the packages do not pin an upper bound on mcp.

Does pinning mcp<2 fix it?

Untested by us. The mcp 2.x error message itself suggests pinning 'mcp<2' to keep running v1 code, but we have not rerun these servers with the pin, so we cannot confirm it works.

Which MCP servers are affected?

postgres-mcp 0.3.0; mcp-server-fetch-python 0.1.1; mcp-server-tree-sitter 0.7.0; mcp-server-sqlite 2025.4.25; playwright-mcp-server 0.1.0; mcp-server-office 0.2.0; mcp-server-kubernetes 0.1.6 (as tested on 2026-10-22).