by poly-mcp
Polymcp provides a simple and efficient way to interact with MCP servers using custom agents
# Add to your Claude Code skills
git clone https://github.com/poly-mcp/PolyMCPUniversal MCP toolkit and agent framework for Python and TypeScript.
PolyMCP gives teams one consistent way to expose tools, connect MCP servers, and run agents that orchestrate those tools. It ships in Python and TypeScript, plus a standalone Inspector and an MCP Apps SDK.
Version: 1.3.8
polymcp/ Python package (tools, agents, auth, sandbox, CLI)polymcp-ts/ TypeScript implementationpolymcp-ts/use_cases/ TypeScript runnable B2B/B2C use casespolymcp-inspector/ standalone Inspector apppolymcp_website/ marketing/docs websiteuse_cases/ Python runnable B2B/B2C use casespolymcp_sdk_mcp_apps/ MCP Apps SDKpolymcp/cli/ CLI documentationexamples/ runnable examplestests/ Python testsregistry/ sample registry filesmy-project/ scaffold output from polymcp initRequirements: Python 3.8+
No comments yet. Be the first to share your thoughts!
pip install polymcp
Create an MCP HTTP server from plain functions:
from polymcp import expose_tools_http
def add(a: int, b: int) -> int:
return a + b
app = expose_tools_http(
tools=[add],
title="Math Server",
description="MCP tools over HTTP",
)
Run:
uvicorn server:app --host 0.0.0.0 --port 8000
Requirements: Node.js 18+
cd polymcp-ts
npm install
npm run build
PolyMCP delegates skills management to the skills.sh CLI. PolyAgent and UnifiedPolyAgent automatically inject relevant skills into prompts to improve tool selection and planning.
npx skills --help
# Install in current project (./.agents/skills)
npx skills add vercel-labs/agent-skills
# Install globally (~/.agents/skills)
npx skills add vercel-labs/agent-skills -g
npx skills list
npx skills list -g
Python helper:
from polymcp import run_skills_cli
run_skills_cli(["add", "vercel-labs/agent-skills"])
Agents load skills from:
./.agents/skills./.skills~/.agents/skillsIf Python agents find no project skills, they print:
[WARN] No project skills found in .agents/skills or .skills.
Use global skills: polymcp skills add vercel-labs/agent-skills -g
Or local skills: polymcp skills add vercel-labs/agent-skills
python examples/simple_example.py
polymcp skills add vercel-labs/agent-skills
python examples/skills_sh_agent_example.py
Minimal server:
import { tool, exposeToolsHttp } from 'polymcp-ts';
import { z } from 'zod';
const add = tool({
name: 'add',
description: 'Add two numbers',
parameters: z.object({ a: z.number(), b: z.number() }),
execute: async ({ a, b }) => a + b,
});
const app = await exposeToolsHttp([add], {
title: 'Math Server',
description: 'MCP tools over HTTP',
version: '1.0.0',
});
app.listen(3000);
The Inspector is the fastest way to test MCP servers, tools, prompts, and UI resources.
Run standalone Inspector:
cd polymcp-inspector
python -m polymcp_inspector --host 127.0.0.1 --port 6274 --no-browser
Open:
http://127.0.0.1:6274/
Features:
Use polymcp_sdk_mcp_apps/ to build UI-first MCP Apps quickly.
cd polymcp_sdk_mcp_apps
npm install
npm run example:quickstart
Connect Inspector to your app server and open the app://... resource in Resources.
Python, multiple MCP servers:
from polymcp.polyagent import UnifiedPolyAgent, OpenAIProvider
agent = UnifiedPolyAgent(
llm_provider=OpenAIProvider(model="gpt-4o-mini"),
mcp_servers=[
"http://localhost:8000/mcp",
"http://localhost:8001/mcp",
],
verbose=True,
)
answer = agent.run("Read sales data, compute totals, then summarize.")
print(answer)
TypeScript, HTTP + stdio:
import { UnifiedPolyAgent, OpenAIProvider } from 'polymcp-ts';
const agent = new UnifiedPolyAgent({
llmProvider: new OpenAIProvider({
apiKey: process.env.OPENAI_API_KEY!,
model: 'gpt-4o-mini',
}),
mcpServers: ['http://localhost:3000/mcp'],
stdioServers: [{ command: 'npx', args: ['@playwright/mcp@latest'] }],
verbose: true,
});
await agent.start();
const answer = await agent.run('Collect data and summarize.');
console.log(answer);
PolyClaw is an autonomous agent inspired by OpenClaw, designed for end-to-end execution in PolyMCP workflows.
What it does:
/workspacepolymcp CLI when usefulSafety defaults:
--confirm-delete)Python examples:
examples/polyclaw_example.pyexamples/polyclaw_mcp_workflow_example.pypolymcp init my-project --type http-server
polymcp server add http://localhost:8000/mcp
polymcp agent run
polymcp agent run --type polyclaw --query "Create and validate a local MCP workflow"
polymcp inspector
See polymcp/cli/README.md for full commands.
Python:
pip install -e .[dev]
python -m pytest
TypeScript:
cd polymcp-ts
npm run build
npm test
npm run lint
MIT