MCP.so
Sign In

mcp-python-sdk-inmemory-server-tests

@junkmd

About mcp-python-sdk-inmemory-server-tests

No overview available yet

Basic information

Category

Developer Tools

License

MIT license

Runtime

python

Transports

stdio

Publisher

junkmd

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "mcp-python-sdk-inmemory-server-tests": {
      "command": "uv",
      "args": [
        "sync",
        "--frozen"
      ]
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is mcp-python-sdk-inmemory-server-tests?

It is an example repository with code and tests for developing robust MCP tools. It demonstrates how unit tests on individual functions can miss asynchronous pitfalls like asyncio.run in tools, and showcases a more reliable testing approach using in-memory client sessions.

How to use mcp-python-sdk-inmemory-server-tests?

Set up the environment with Node.js via Volta and uv, then run npm install and uv sync --frozen. Execute tests with uv run pytest tests/.. Debug mcpserver.py using the MCP Inspector with uv run mcp dev mcpserver.py. Format code with uv run ruff format . and uv run ruff check --select I --fix ..

Key features of mcp-python-sdk-inmemory-server-tests

  • Example code for robust MCP tool development
  • Reveals async pitfalls like asyncio.run in tools
  • Showcases in-memory client session testing approach
  • Setup with Node.js and uv package manager
  • Debugging support via MCP Inspector
  • Code formatting with Ruff

Use cases of mcp-python-sdk-inmemory-server-tests

  • Learning how to properly test MCP tools
  • Identifying and fixing async errors in tool implementations
  • Developing reliable, isolated test suites for MCP servers

FAQ from mcp-python-sdk-inmemory-server-tests

What problem does this project address?

It shows that unit tests on individual functions can miss asynchronous pitfalls like asyncio.run in MCP tools, and provides a better testing strategy using in-memory client sessions.

How do I run the tests?

After setup, execute uv run pytest tests/. in the repository root.

What is the MCP Inspector and how is it used?

The MCP Inspector is a debugging tool for MCP servers. Run uv run mcp dev mcpserver.py to start it and test mcpserver.py.

What dependencies are required?

Node.js (installed via Volta), npm, and uv (installed via shell script). After that, run npm install and uv sync --frozen.

Comments

More Developer Tools MCP servers