Skip to main content

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 from BaseTool
  • Implement the required methods and input schema
  • Register the tool in the tool registry

Prompts

  • Create a new class in /src/prompts/ inheriting from BasePrompt
  • 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


📝 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)

Source distribution for iflow-mcp_josharsh-mcp-server 0.1.2
File Size Uploaded
iflow_mcp_josharsh_mcp_server-0.1.2.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iflow-mcp_josharsh-mcp-server 0.1.2
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page