A framework for building MCP servers. A proxy for running them.
And a growing catalog of production-ready tool packages.
Framework for building, Factory for assembling, Proxy for running.
The library. Config loading, transport (stdio + HTTP), health endpoint, OAuth, plugin system.
$ pip install mcp-server-framework
# Your plugin:
def register(mcp, config):
@mcp.tool()
def my_tool(x: str):
return f"done: {x}"
Static plugin loading at startup. Pick your plugins, get a configured MCP server. CLI included.
$ mcp-factory \
--plugins shell wekan \
--http 12201
✓ 2 plugins, 44 tools
✓ HTTP on :12201
Dynamic plugin loading at runtime. Load, unload, reload without restart. Management API. OAuth.
$ mcp-proxy serve --config proxy.yaml
✓ 5 plugins, 95 tools
✓ Dynamic dispatch enabled
✓ Management API on :12299
Each package works standalone or as a proxy plugin. Dual-use: MCP server + Python library.
26 tools — Filesystem, editor, search, shell, system. The workstation toolkit.
pip install mcp-shell-tools
43 tools — Browser automation. Navigation, interaction, content extraction, semantic locators.
pip install mcp-playwright-tools
18 tools — Kanban board management. Cards, lists, checklists, labels, swimlanes.
pip install mcp-wekan-tools
60 tools — HomeMatic CCU3 smart home. Devices, channels, programs, climate, system variables.
pip install mcp-homematic-tools
6 tools — Image processing. Read, resize, crop, convert, screenshot. Base64 output.
pip install mcp-image-tools
6 tools — Wikipedia REST + MediaWiki API. Search, articles, summaries. Multilingual.
pip install mcp-wikipedia-tools
One interface. Standalone or plugin. MCP server or Python library.
Each tool package is on PyPI. One pip install, ready to use.
$ pip install mcp-shell-tools
$ mcp-shell-tools
✓ 26 tools, stdio ready
Every tool works as a Python function. No MCP needed.
from mcp_shell_tools.shell import tools
result = tools.file_read("/etc/hosts")
files = tools.glob_search("**/*.py")
Combine tools from multiple packages. One server, many capabilities.
# proxy.yaml
autoload:
- mcp_shell_tools.shell
- mcp_playwright_tools.playwright
- mcp_wekan_tools.wekan
- mcp_image_tools.image
One function. That's the entire plugin API.
Framework is the library you build on. Factory assembles plugins at startup. Proxy loads and unloads plugins at runtime. Most users need Framework + one tool package.
Yes. Every package exports pure Python functions. Import and call directly — no MCP, no server, no overhead.
Implement register(mcp, config). That's the entire API. Add @mcp.tool() decorated functions inside. Your package works standalone and as a proxy plugin.
Yes. Every tool package runs as a stdio MCP server. Add it to your Claude Desktop config and it just works.