MCP Base
A solid, foundational starting point for MCP projects. MCP Base is a production-ready, extensible template for building Model Context Protocol (MCP) servers in Python. Rapidly create, extend, and deploy MCP servers that expose tools, prompts, and resources to LLMs and agentic clients.
🚀 What is This?
This is a Python starter base—not a specific server implementation. It provides a modular, well-documented foundation for building your own MCP servers in Python, supporting multiple transport layers (STDIO, SSE, HTTP, etc.), and demonstrating best practices for security, extensibility, and maintainability.
🏗️ Architecture Overview
.
├── src/
│ ├── base/ # Base classes for tools, prompts, resources
│ ├── tools/ # Example tools (filesystem, API, prompt, etc.)
│ ├── resources/ # Example resources (static/dynamic)
│ ├── prompts/ # Example prompts (text generation, summarization)
│ ├── transports/ # Transport layer implementations & docs
│ │ ├── stdio/
│ │ │ └── README.md
│ │ ├── sse/
│ │ │ └── README.md
│ │ └── ...
│ ├── config.py # Configuration and environment management
│ ├── server.py # Server instantiation and registration
│ └── main.py # Entrypoint: selects transport, starts server
├── tests/ # Example tests for tools/resources
├── Dockerfile # Containerized deployment
├── requirements.txt / pyproject.toml
├── README.md # This file
├── CONTRIBUTING.md
└── ...
✨ Features
- Multi-Transport Support: STDIO, SSE, HTTP, and more (see
/src/transports/) - Modular Tools/Prompts/Resources: Add new features by creating a class and registering it
- Type-Safe Input Validation: Uses Pydantic for schemas
- Security Best Practices: Directory sandboxing, input validation, error handling
- Extensible & Maintainable: Clean separation of concerns, base classes, and registries
- Production-Ready: Logging, environment management, Docker support
- Comprehensive Documentation: For users and contributors
🛠️ Getting Started
1. Install Dependencies
pip install -r requirements.txt
2. Configure Environment
Copy .env.example to .env and fill in required values.
3. Run the Server
STDIO Transport:
python main.py --transport=stdio
SSE/HTTP Transport:
See /src/transports/sse/README.md and /src/transports/http/README.md for details.
🧩 Adding Tools, Prompts, and Resources
Tools
- Create a new class in
/src/tools/inheriting fromBaseTool - Implement the required methods and input schema
- Register the tool in the tool registry
Prompts
- Create a new class in
/src/prompts/inheriting fromBasePrompt - Implement the required methods and input schema
- Register the prompt in the prompt registry
Resources
- Add static or dynamic resources in
/src/resources/ - Register them in the resource registry
🔌 Supported Transports
- STDIO: For CLI and agentic integration (see
/src/transports/stdio/README.md) - SSE: For server-sent events and web clients (see
/src/transports/sse/README.md) - HTTP: For RESTful or web-based integration (see
/src/transports/http/README.md)
Each transport is modular and can be extended or replaced.
🛡️ Security & Best Practices
- All file and directory operations are sandboxed to allowed paths
- Input validation is enforced for all tool/resource inputs
- Error handling is consistent and user-friendly
- Sensitive configuration is managed via environment variables
🧪 Testing
- Example tests are provided in
/tests/ - Use Pytest as the test runner
- See CONTRIBUTING.md for test guidelines
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines, code style, and PR process.
📚 Further Reading
- Model Context Protocol Documentation
- Official MCP Python SDK
- Reference MCP Servers Gallery
- Transport Layer Docs
📝 License
MIT License. See LICENSE for details.
💬 Community & Support
MCP Base is the recommended starting point for all new Python MCP server projects. Fork, extend, and contribute improvements!
Metadata
Release files for iflow-mcp_josharsh-mcp-server 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_josharsh_mcp_server-0.1.2.tar.gz | 9.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_josharsh_mcp_server-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.5 kB
Release files / iflow_mcp_josharsh_mcp_server-0.1.2.tar.gz
| Download URL | iflow_mcp_josharsh_mcp_server-0.1.2.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a127d9e04c98e8aed2d4ac8c5b5f361dd5f031f631b6315a9af494eeaca348c
|
|
BLAKE2b-256 checksum How to use checksums |
432281f21c0157fc2a7d8a07aa9b7f9c0f133bcbebe546c396c782cfe675301d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_josharsh_mcp_server-0.1.2-py3-none-any.whl
| Download URL | iflow_mcp_josharsh_mcp_server-0.1.2-py3-none-any.whl |
|---|---|
| Size | 11.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a0b4ceb9ed9a03ead5c2d337d8778a8387963adaa8247bb82c58c98753680e06
|
|
BLAKE2b-256 checksum How to use checksums |
bbd8b65127e5a9dffb1d0b17880f6681032dcc7995bcedcb7b9322754409d2a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|