A multi-language implementation of a minimal, extensible Model Context Protocol (MCP) server.
This repository contains multiple implementations of the same MCP architecture in different languages. Each implementation follows the same design principles:
- JSON-RPC based MCP protocol
- Tool definitions separated from execution logic
- Reflection-based tool discovery
- SSE-compatible streaming endpoint
- Designed for VS Code Agent Mode and automation platforms like n8n
- Overview
- Architecture Philosophy
- Available Implementations
- MCP Capabilities
- When to Use Each Implementation
- Folder Structure
- Contribution Guidelines
- Roadmap
This repository provides reference implementations of an MCP (Model Context Protocol) server.
MCP enables:
- LLM tool calling
- Agent-based execution
- Structured tool schemas
- Tool discovery
- Streaming-capable transport
Each language implementation exposes:
initializetools/listtools/call- SSE endpoint (optional but recommended)
All implementations follow the same tool design rules:
- Tool metadata defined in JSON (or schema file)
- Tool logic implemented as a function/method
- Tool name must match definition name
- All tools return structured JSON objects
The architecture is intentionally:
- Minimal
- Explicit
- Reflection-based
- Stateless
- Easy to extend
- Agent-first
Core layers:
Definitions → Cache → Domain → Repository → Transport
Where:
- Definitions = JSON schemas describing tools
- Cache = In-memory storage of tool metadata
- Domain = Dispatcher and orchestrator
- Repository = Tool implementations
- Transport = HTTP + JSON-RPC + SSE
Location:
src/python/
Full documentation:
👉 Python Implementation README
Features:
- Flask-based MCP server
- SSE endpoint
- JSON-RPC POST endpoint
- Reflection-based tool loading
- Docker-ready
- IDE (VSCode, PyCharm, Visual Studio, etc.) Agent compatible
- n8n Streamable HTTP compatible
All implementations aim to support:
| Capability | Description |
|---|---|
| JSON-RPC | Standard MCP method dispatch |
| Tool Discovery | tools/list |
| Tool Execution | tools/call |
| Structured Output | structuredContent support |
| Streaming | SSE endpoint |
| Agent Mode Compatible | VS Code Agent |
| Automation Compatible | n8n Tools Node |
Best for:
- Rapid prototyping
- Lightweight deployments
- Educational reference
- Docker-based environments
- Edge deployments
- Quick MCP testing
From repository root:
/README.md
/src
/python
README.md
app.py
domain.py
cache_manager.py
tools_repository.py
definitions/
Each language implementation lives under src/<language>/.
If adding a new language implementation:
- Follow the same MCP method contract
- Keep tool definition separation
- Support JSON-RPC POST
- Optionally support SSE
- Include a
README.mdinside the language folder - Add a link to it in this root README
Planned future implementations:
- .NET
- Node.js
- FastAPI
- Go
- Rust
- Cloud-native Kubernetes-ready variant
This repository is intended to serve as:
- A reference MCP architecture
- A clean starting point for agent-enabled systems
- A minimal, understandable tool-first MCP server
- A foundation for enterprise-grade automation