MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

Small Python client for Model Context Protocol (MCP) servers.

Created 3/8/2026
Updated about 6 hours ago
Repository documentation and setup instructions

solvemcp

It provides:

  • stdio transport for local subprocess servers.
  • Streamable HTTP transport for modern MCP servers.
  • Legacy HTTP+SSE fallback for older servers.
  • Dynamic Python callables for tools returned by tools/list.

Installation

pip install solvemcp

Quick Start

Connect to a local stdio server

from solvemcp import MCPClient
with MCPClient.stdio([sys.executable, "-u", "../tests/echoserver.py"]) as mcp:
    print(list(mcp.tools))
    res = mcp.echo(text="hello")
    print(res)
['echo']
{'content': [{'type': 'text', 'text': 'hello'}]}

Connect to an HTTP MCP server

with MCPClient.http("https://mcp.grep.app") as mcp:
    print(list(mcp.tools))
    res = mcp.searchGitHub(query="class PtyProcess", language=["Python"])
['searchGitHub']
cts = res['content']
print(len(cts))
10
print(cts[0]['text'][:500])
Repository: sedwards2009/extraterm
Path: extensions/ProxySessionBackend/src/python/ptyprocess/ptyprocess.py
URL: https://github.com/sedwards2009/extraterm/blob/master/extensions/ProxySessionBackend/src/python/ptyprocess/ptyprocess.py
License: MIT

Snippets:
--- Snippet 1 (Line 79) ---
            (intr, eof) = (3, 4)
    
    _INTR = _byte(intr)
    _EOF = _byte(eof)

class PtyProcessError(Exception):
    """Generic error class for this package."""

# setecho and setwinsize are pulled out here b

How Tool Calls Work

For each server tool with a valid Python identifier name, MCPClient adds a method dynamically. Example: a server tool named echo becomes mcp.echo(...).

Equivalent forms:

mcp.echo(text="hi")
mcp.call_tool("echo", text="hi")

Streaming

For Streamable HTTP servers, use rpc_stream or call_tool_stream:

for msg in mcp.rpc_stream("tools/list", params={}): print(msg)

Module Layout

  • solvemcp/client.py: MCPClient request lifecycle, initialization, tool binding, and RPC helpers.
  • solvemcp/transports.py: transport implementations plus SSE parsers and error types.

Development

Run tests:

python tests/tests.py
Quick Setup
Installation guide for this server

Install Package (if required)

uvx solvemcp

Cursor configuration (mcp.json)

{ "mcpServers": { "answerdotai-solvemcp": { "command": "uvx", "args": [ "solvemcp" ] } } }