loading…
Search for a command to run...
loading…
Production-ready MCP server starter with authentication, observability, and a plugin system for building and deploying MCP servers quickly.
Production-ready MCP server starter with authentication, observability, and a plugin system for building and deploying MCP servers quickly.
License: MIT Python FastAPI MCP OpenTelemetry Docker Open Source
Production-ready Model Context Protocol server starter with auth, tracing, and a plugin system.
Built by Sarma Linux.
MCP went from niche spec to default integration layer in late 2025. Every serious agent now speaks it. Most reference servers are toys: a single tool, no auth, no observability. This toolkit is the opinionated batteries-included alternative.
Scaffold an MCP server in one command. Drop tool handlers into a plugins directory. Get OAuth 2.1 with PKCE, structured logging, OpenTelemetry traces, rate limiting, and a typed tool registry for free. Runs over stdio for local agents and streamable HTTP for remote ones, same code path.
graph TD
Client[MCP Client<br/>Desktop / Cursor / IDE]
Client -->|stdio JSON-RPC| Stdio[stdio transport]
Client -->|streamable HTTP| HTTP[FastAPI HTTP transport]
Stdio --> Reg[Tool Registry]
HTTP --> Auth[OAuth 2.1 / API key]
Auth --> Reg
Reg --> P1[plugin: filesystem]
Reg --> P2[plugin: postgres]
Reg --> P3[plugin: github]
Reg --> P4[plugin: sarmalink]
P4 -->|api.sarmalink.ai| SLAI[SarmaLink-AI]
classDef ext fill:#a78bfa,stroke:#a78bfa,color:#fff
class SLAI ext
git clone https://github.com/sarmakska/mcp-server-toolkit.git
cd mcp-server-toolkit
uv sync
cp .env.example .env
uv run mcp-toolkit run --transport stdio
from mcp_toolkit.registry import registry
@registry.tool("search_docs", description="Search internal docs")
async def search_docs(query: str) -> dict:
return {"results": [...]}
| Env var | Purpose | Default |
|---|---|---|
MCP_TRANSPORT |
stdio or http |
stdio |
MCP_AUTH |
none, api_key, oauth |
none |
OTEL_EXPORTER_OTLP_ENDPOINT |
OTel collector URL | unset |
SARMALINK_API_KEY |
for the sarmalink plugin | unset |
Distroless Docker image, ~120MB. Runs on Fly.io, Render, Railway, k8s.
docker build -t mcp-toolkit .
docker run -p 8000:8000 --env-file .env mcp-toolkit
See docs/OPEN-ISSUES.md. PRs welcome.
MIT.
Built by Sarma Linux.
Part of a portfolio of twelve production-shaped open-source repositories built and maintained by Sarma.
| Repository | What it is |
|---|---|
| Sarmalink-ai | Multi-provider OpenAI-compatible AI gateway with 14-engine failover and intent-based plugin auto-routing |
| agent-orchestrator | Durable multi-agent workflows in TypeScript with deterministic replay and Inspector UI |
| voice-agent-starter | Sub-second full-duplex voice agent loop. WebRTC, mediasoup, pluggable STT / LLM / TTS |
| ai-eval-runner | Evals as code. Python, DuckDB, FastAPI viewer, regression mode for CI |
| mcp-server-toolkit | Production Model Context Protocol server starter (Python / FastAPI) |
| local-llm-router | OpenAI-compatible proxy that routes to Ollama or cloud providers based on policy |
| rag-over-pdf | Minimal end-to-end RAG starter for PDF corpora |
| receipt-scanner | Vision OCR for receipts with Zod-validated JSON output |
| webhook-to-email | Webhook receiver that forwards events to email via Resend |
| k8s-ops-toolkit | Helm chart for shipping Next.js to Kubernetes with full observability stack |
| terraform-stack | Vercel + Supabase + Cloudflare + DigitalOcean modules in one Terraform repo |
| staff-portal | Open-source HR / ops portal — leave, attendance, expenses, kiosk mode |
Engineering essays at sarmalinux.com/blog · All projects at sarmalinux.com/open-source
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mcp-server-toolkit": {
"command": "npx",
"args": []
}
}
}