# MCP Development Toolkit
[](https://badge.fury.io/py/mcp-dev-toolkit)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
A comprehensive development toolkit for building Model Context Protocol (MCP) tools and servers with built-in middleware, validation, schema extraction, and code generation.
## ๐ Quick Start
### Installation
```bash
# Basic installation
pip install mcp-dev-toolkit
# Full installation with all features
pip install mcp-dev-toolkit[full]
# Development installation
pip install mcp-dev-toolkit[dev]
```
### Create Your First Tool
```python
from mcp_dev_toolkit import create_sdk, ToolType
# Create SDK instance
sdk = create_sdk("my-awesome-tools", "1.0.0")
@sdk.tool(
name="url_shortener",
description="Shorten URLs using various services",
tool_type=ToolType.INTEGRATION,
tags=["url", "utility"],
examples=[{
"input": {"url": "https://example.com/very/long/url", "service": "bitly"},
"output": {"short_url": "https://bit.ly/abc123"}
}]
)
async def url_shortener(url: str, service: str = "bitly") -> dict:
"""Shorten a URL using the specified service"""
# Your implementation here
return {
"original_url": url,
"short_url": f"https://short.ly/{hash(url) % 1000000}",
"service": service,
"created_at": datetime.now().isoformat()
}
# Generate MCP server
server_path = sdk.generate_mcp_server("./my_server")
print(f"Server generated at: {server_path}")
# Run the server
if __name__ == "__main__":
app = sdk.create_mcp_app()
asyncio.run(sdk.run_server(app))
```
## ๐ Features
### ๐ฏ Core Features
- **Decorator-based tool registration** - Simple `@sdk.tool()` decorator
- **Automatic schema extraction** - Generate JSON schemas from Python type hints
- **Built-in middleware system** - Validation, logging, performance monitoring
- **Code generation** - Generate complete MCP servers and OpenAPI specs
- **Integration support** - Built-in support for external API integrations
- **Comprehensive error handling** - Graceful error handling and validation
### ๐ง Middleware System
- **ValidationMiddleware** - Automatic input validation and type conversion
- **LoggingMiddleware** - Comprehensive logging of tool execution
- **PerformanceMiddleware** - Performance monitoring and timing
- **CachingMiddleware** - Simple in-memory caching
- **RateLimitingMiddleware** - Rate limiting protection
- **SecurityMiddleware** - Input sanitization and security checks
### ๐ Code Generation
- **MCP Server Generation** - Complete, runnable MCP servers
- **OpenAPI Specification** - Generate REST API specs from tools
- **Client SDK Generation** - Python client libraries
- **Documentation Generation** - Auto-generated documentation
## ๐ ๏ธ Usage Examples
### Tool Types
```python
from mcp_dev_toolkit import create_sdk, ToolType
sdk = create_sdk("example-tools")
# Simple utility tool
@sdk.tool(tool_type=ToolType.SIMPLE)
async def calculate_hash(text: str, algorithm: str = "md5") -> dict:
import hashlib
hash_obj = getattr(hashlib, algorithm)()
hash_obj.update(text.encode())
return {"hash": hash_obj.hexdigest(), "algorithm": algorithm}
# AI/Agentic tool
@sdk.tool(tool_type=ToolType.AGENTIC)
async def analyze_sentiment(text: str) -> dict:
# Integration with AI services
return {"sentiment": "positive", "confidence": 0.95}
# Workflow orchestration tool
@sdk.tool(tool_type=ToolType.WORKFLOW)
async def process_document(file_path: str, operations: list) -> dict:
# Multi-step document processing
return {"processed": True, "operations_completed": len(operations)}
# External integration tool
@sdk.tool(tool_type=ToolType.INTEGRATION)
async def fetch_weather(city: str, api_key: str) -> dict:
# Weather API integration
return {"city": city, "temperature": 22, "condition": "sunny"}
```
### Custom Middleware
```python
from mcp_dev_toolkit import Middleware
class CustomAuthMiddleware(Middleware):
def __init__(self, required_token: str):
super().__init__(priority=1) # High priority
self.required_token = required_token
async def process_pre(self, tool_schema, args, kwargs):
token = kwargs.get('auth_token')
if token != self.required_token:
raise ValueError("Invalid authentication token")
# Remove token from kwargs before tool execution
kwargs.pop('auth_token', None)
return None
# Add to SDK
sdk.add_middleware(CustomAuthMiddleware("secret-token"))
```
### Advanced Schema Definition
```python
from typing import Literal, List
from enum import Enum
class Priority(Enum):
LOW = "low"
MEDIUM = "medium"
HIGH = "high"
@sdk.tool()
async def create_task(
title: str,
description: str = "",
priority: Priority = Priority.MEDIUM,
tags: List[str] = None,
due_date: str = None,
assignee: str = None
) -> dict:
"""Create a new task with specified parameters"""
return {
"task_id": f"task_{hash(title) % 10000}",
"title": title,
"description": description,
"priority": priority.value,
"tags": tags or [],
"due_date": due_date,
"assignee": assignee,
"status": "created"
}
```
## ๐ฅ๏ธ Command Line Interface
The toolkit includes a powerful CLI for project management:
```bash
# Create new project
mcp-toolkit create my-project --type server --output ./projects
# Generate code from existing tools
mcp-toolkit generate my_tools.py --server --openapi --client
# Validate tools
mcp-toolkit validate my_tools.py
# Run server
mcp-toolkit run my_server.py --debug
```
### CLI Commands
- **create** - Create new MCP projects with templates
- **generate** - Generate servers, APIs, and clients from existing tools
- **validate** - Validate tool definitions and schemas
- **run** - Run MCP servers with debugging support
## ๐ Project Structure
When you generate a project, you get a complete, production-ready structure:
```
my_project_server/
โโโ my_project_server.py # Main server file
โโโ config.yml # Configuration
โโโ requirements.txt # Dependencies
โโโ README.md # Documentation
โโโ tests/ # Test files (when generated)
โโโ test_tools.py
โโโ conftest.py
```
## ๐ Integration Support
### API Gateway Integration
```python
# Set up gateway for external API calls
sdk.set_gateway(api_gateway_client)
@sdk.integration(service="weather_api", endpoint="/current")
async def get_weather(city: str, gateway=None) -> dict:
"""Get current weather using gateway"""
response = await gateway.get(f"/weather?city={city}")
return response.json()
```
### Database Integration
```python
@sdk.tool()
async def query_database(sql: str, gateway=None) -> dict:
"""Execute database query safely"""
# Use gateway for database connections
result = await gateway.execute_query(sql)
return {"rows": result, "count": len(result)}
```
## ๐งช Testing
The toolkit includes comprehensive testing utilities:
```python
import pytest
from mcp_dev_toolkit.testing import MCPTestClient
@pytest.mark.asyncio
async def test_url_shortener():
client = MCPTestClient(sdk)
result = await client.call_tool("url_shortener", {
"url": "https://example.com",
"service": "bitly"
})
assert result["service"] == "bitly"
assert "short_url" in result
```
## ๐ Monitoring and Analytics
Built-in performance monitoring and analytics:
```python
# Performance metrics are automatically collected
from mcp_dev_toolkit import PerformanceMiddleware
# Custom metrics middleware
class MetricsMiddleware(Middleware):
async def process_post(self, tool_schema, result):
# Send metrics to your monitoring system
await send_metric(f"tool.{tool_schema.metadata.name}.success", 1)
return None
sdk.add_middleware(MetricsMiddleware())
```
## ๐ง Configuration
### Environment-based Configuration
```python
import os
from mcp_dev_toolkit import create_sdk
sdk = create_sdk(
name=os.getenv("MCP_SERVER_NAME", "default-server"),
version=os.getenv("MCP_SERVER_VERSION", "1.0.0")
)
# Configure middleware based on environment
if os.getenv("ENVIRONMENT") == "production":
sdk.add_middleware(SecurityMiddleware())
sdk.add_middleware(RateLimitingMiddleware(max_calls=1000))
```
### YAML Configuration
```yaml
# config.yml
server:
name: "my-mcp-server"
version: "1.0.0"
debug: false
middleware:
- type: "validation"
enabled: true
- type: "logging"
enabled: true
level: "INFO"
- type: "performance"
enabled: true
tools:
rate_limit: 100
timeout: 30
```
## ๐ Deployment
### Docker Deployment
```dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["python", "my_server.py"]
```
### Serverless Deployment
```python
# For AWS Lambda, Azure Functions, etc.
from mcp_dev_toolkit import create_lambda_handler
handler = create_lambda_handler(sdk)
def lambda_handler(event, context):
return handler(event, context)
```
## ๐ API Reference
### Core Classes
- **MCPDevelopmentSDK** - Main SDK class
- **ToolType** - Enum for tool types
- **ToolMetadata** - Tool metadata container
- **ToolSchema** - Complete tool schema
- **Middleware** - Base middleware class
### Decorators
- **@sdk.tool()** - Register MCP tools
- **@sdk.integration()** - Register API integrations
### Utilities
- **SchemaExtractor** - Extract schemas from functions
- **MCPServerGenerator** - Generate complete servers
- **OpenAPIGenerator** - Generate API specifications
## ๐ค Contributing
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
### Development Setup
```bash
git clone https://github.com/yourusername/mcp-dev-toolkit.git
cd mcp-dev-toolkit
pip install -e ".[dev]"
pre-commit install
```
### Running Tests
```bash
pytest tests/
pytest --cov=mcp_dev_toolkit tests/
```
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Built on the Model Context Protocol (MCP) specification
- Inspired by modern API development frameworks
- Thanks to all contributors and the MCP community
---
**Made with โค๏ธ for the MCP community**
For more examples, documentation, and community support, visit our [GitHub repository](https://github.com/yourusername/mcp-dev-toolkit).
Raw data
{
"_id": null,
"home_page": null,
"name": "mcp-dev-toolkit",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "ai-tools, development-toolkit, mcp, model-context-protocol, sdk, server-tools",
"author": null,
"author_email": "MCP Development Community <mcp-dev-toolkit@proton.me>",
"download_url": "https://files.pythonhosted.org/packages/2b/60/e1d0c235ae26943a06bc5ee4f38e6f672d35ffa88f34a3daa92b21704772/mcp_dev_toolkit-1.1.0.tar.gz",
"platform": null,
"description": "# MCP Development Toolkit\n\n[](https://badge.fury.io/py/mcp-dev-toolkit)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n\nA comprehensive development toolkit for building Model Context Protocol (MCP) tools and servers with built-in middleware, validation, schema extraction, and code generation.\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\n# Basic installation\npip install mcp-dev-toolkit\n\n# Full installation with all features\npip install mcp-dev-toolkit[full]\n\n# Development installation\npip install mcp-dev-toolkit[dev]\n```\n\n### Create Your First Tool\n\n```python\nfrom mcp_dev_toolkit import create_sdk, ToolType\n\n# Create SDK instance\nsdk = create_sdk(\"my-awesome-tools\", \"1.0.0\")\n\n@sdk.tool(\n name=\"url_shortener\",\n description=\"Shorten URLs using various services\",\n tool_type=ToolType.INTEGRATION,\n tags=[\"url\", \"utility\"],\n examples=[{\n \"input\": {\"url\": \"https://example.com/very/long/url\", \"service\": \"bitly\"},\n \"output\": {\"short_url\": \"https://bit.ly/abc123\"}\n }]\n)\nasync def url_shortener(url: str, service: str = \"bitly\") -> dict:\n \"\"\"Shorten a URL using the specified service\"\"\"\n # Your implementation here\n return {\n \"original_url\": url,\n \"short_url\": f\"https://short.ly/{hash(url) % 1000000}\",\n \"service\": service,\n \"created_at\": datetime.now().isoformat()\n }\n\n# Generate MCP server\nserver_path = sdk.generate_mcp_server(\"./my_server\")\nprint(f\"Server generated at: {server_path}\")\n\n# Run the server\nif __name__ == \"__main__\":\n app = sdk.create_mcp_app()\n asyncio.run(sdk.run_server(app))\n```\n\n## \ud83d\udccb Features\n\n### \ud83c\udfaf Core Features\n- **Decorator-based tool registration** - Simple `@sdk.tool()` decorator\n- **Automatic schema extraction** - Generate JSON schemas from Python type hints\n- **Built-in middleware system** - Validation, logging, performance monitoring\n- **Code generation** - Generate complete MCP servers and OpenAPI specs\n- **Integration support** - Built-in support for external API integrations\n- **Comprehensive error handling** - Graceful error handling and validation\n\n### \ud83d\udd27 Middleware System\n- **ValidationMiddleware** - Automatic input validation and type conversion\n- **LoggingMiddleware** - Comprehensive logging of tool execution\n- **PerformanceMiddleware** - Performance monitoring and timing\n- **CachingMiddleware** - Simple in-memory caching\n- **RateLimitingMiddleware** - Rate limiting protection\n- **SecurityMiddleware** - Input sanitization and security checks\n\n### \ud83d\udcca Code Generation\n- **MCP Server Generation** - Complete, runnable MCP servers\n- **OpenAPI Specification** - Generate REST API specs from tools\n- **Client SDK Generation** - Python client libraries\n- **Documentation Generation** - Auto-generated documentation\n\n## \ud83d\udee0\ufe0f Usage Examples\n\n### Tool Types\n\n```python\nfrom mcp_dev_toolkit import create_sdk, ToolType\n\nsdk = create_sdk(\"example-tools\")\n\n# Simple utility tool\n@sdk.tool(tool_type=ToolType.SIMPLE)\nasync def calculate_hash(text: str, algorithm: str = \"md5\") -> dict:\n import hashlib\n hash_obj = getattr(hashlib, algorithm)()\n hash_obj.update(text.encode())\n return {\"hash\": hash_obj.hexdigest(), \"algorithm\": algorithm}\n\n# AI/Agentic tool\n@sdk.tool(tool_type=ToolType.AGENTIC)\nasync def analyze_sentiment(text: str) -> dict:\n # Integration with AI services\n return {\"sentiment\": \"positive\", \"confidence\": 0.95}\n\n# Workflow orchestration tool\n@sdk.tool(tool_type=ToolType.WORKFLOW)\nasync def process_document(file_path: str, operations: list) -> dict:\n # Multi-step document processing\n return {\"processed\": True, \"operations_completed\": len(operations)}\n\n# External integration tool\n@sdk.tool(tool_type=ToolType.INTEGRATION)\nasync def fetch_weather(city: str, api_key: str) -> dict:\n # Weather API integration\n return {\"city\": city, \"temperature\": 22, \"condition\": \"sunny\"}\n```\n\n### Custom Middleware\n\n```python\nfrom mcp_dev_toolkit import Middleware\n\nclass CustomAuthMiddleware(Middleware):\n def __init__(self, required_token: str):\n super().__init__(priority=1) # High priority\n self.required_token = required_token\n \n async def process_pre(self, tool_schema, args, kwargs):\n token = kwargs.get('auth_token')\n if token != self.required_token:\n raise ValueError(\"Invalid authentication token\")\n # Remove token from kwargs before tool execution\n kwargs.pop('auth_token', None)\n return None\n\n# Add to SDK\nsdk.add_middleware(CustomAuthMiddleware(\"secret-token\"))\n```\n\n### Advanced Schema Definition\n\n```python\nfrom typing import Literal, List\nfrom enum import Enum\n\nclass Priority(Enum):\n LOW = \"low\"\n MEDIUM = \"medium\"\n HIGH = \"high\"\n\n@sdk.tool()\nasync def create_task(\n title: str,\n description: str = \"\",\n priority: Priority = Priority.MEDIUM,\n tags: List[str] = None,\n due_date: str = None,\n assignee: str = None\n) -> dict:\n \"\"\"Create a new task with specified parameters\"\"\"\n return {\n \"task_id\": f\"task_{hash(title) % 10000}\",\n \"title\": title,\n \"description\": description,\n \"priority\": priority.value,\n \"tags\": tags or [],\n \"due_date\": due_date,\n \"assignee\": assignee,\n \"status\": \"created\"\n }\n```\n\n## \ud83d\udda5\ufe0f Command Line Interface\n\nThe toolkit includes a powerful CLI for project management:\n\n```bash\n# Create new project\nmcp-toolkit create my-project --type server --output ./projects\n\n# Generate code from existing tools\nmcp-toolkit generate my_tools.py --server --openapi --client\n\n# Validate tools\nmcp-toolkit validate my_tools.py\n\n# Run server\nmcp-toolkit run my_server.py --debug\n```\n\n### CLI Commands\n\n- **create** - Create new MCP projects with templates\n- **generate** - Generate servers, APIs, and clients from existing tools\n- **validate** - Validate tool definitions and schemas\n- **run** - Run MCP servers with debugging support\n\n## \ud83d\udcc1 Project Structure\n\nWhen you generate a project, you get a complete, production-ready structure:\n\n```\nmy_project_server/\n\u251c\u2500\u2500 my_project_server.py # Main server file\n\u251c\u2500\u2500 config.yml # Configuration\n\u251c\u2500\u2500 requirements.txt # Dependencies\n\u251c\u2500\u2500 README.md # Documentation\n\u2514\u2500\u2500 tests/ # Test files (when generated)\n \u251c\u2500\u2500 test_tools.py\n \u2514\u2500\u2500 conftest.py\n```\n\n## \ud83d\udd17 Integration Support\n\n### API Gateway Integration\n\n```python\n# Set up gateway for external API calls\nsdk.set_gateway(api_gateway_client)\n\n@sdk.integration(service=\"weather_api\", endpoint=\"/current\")\nasync def get_weather(city: str, gateway=None) -> dict:\n \"\"\"Get current weather using gateway\"\"\"\n response = await gateway.get(f\"/weather?city={city}\")\n return response.json()\n```\n\n### Database Integration\n\n```python\n@sdk.tool()\nasync def query_database(sql: str, gateway=None) -> dict:\n \"\"\"Execute database query safely\"\"\"\n # Use gateway for database connections\n result = await gateway.execute_query(sql)\n return {\"rows\": result, \"count\": len(result)}\n```\n\n## \ud83e\uddea Testing\n\nThe toolkit includes comprehensive testing utilities:\n\n```python\nimport pytest\nfrom mcp_dev_toolkit.testing import MCPTestClient\n\n@pytest.mark.asyncio\nasync def test_url_shortener():\n client = MCPTestClient(sdk)\n \n result = await client.call_tool(\"url_shortener\", {\n \"url\": \"https://example.com\",\n \"service\": \"bitly\"\n })\n \n assert result[\"service\"] == \"bitly\"\n assert \"short_url\" in result\n```\n\n## \ud83d\udcca Monitoring and Analytics\n\nBuilt-in performance monitoring and analytics:\n\n```python\n# Performance metrics are automatically collected\nfrom mcp_dev_toolkit import PerformanceMiddleware\n\n# Custom metrics middleware\nclass MetricsMiddleware(Middleware):\n async def process_post(self, tool_schema, result):\n # Send metrics to your monitoring system\n await send_metric(f\"tool.{tool_schema.metadata.name}.success\", 1)\n return None\n\nsdk.add_middleware(MetricsMiddleware())\n```\n\n## \ud83d\udd27 Configuration\n\n### Environment-based Configuration\n\n```python\nimport os\nfrom mcp_dev_toolkit import create_sdk\n\nsdk = create_sdk(\n name=os.getenv(\"MCP_SERVER_NAME\", \"default-server\"),\n version=os.getenv(\"MCP_SERVER_VERSION\", \"1.0.0\")\n)\n\n# Configure middleware based on environment\nif os.getenv(\"ENVIRONMENT\") == \"production\":\n sdk.add_middleware(SecurityMiddleware())\n sdk.add_middleware(RateLimitingMiddleware(max_calls=1000))\n```\n\n### YAML Configuration\n\n```yaml\n# config.yml\nserver:\n name: \"my-mcp-server\"\n version: \"1.0.0\"\n debug: false\n\nmiddleware:\n - type: \"validation\"\n enabled: true\n - type: \"logging\" \n enabled: true\n level: \"INFO\"\n - type: \"performance\"\n enabled: true\n\ntools:\n rate_limit: 100\n timeout: 30\n```\n\n## \ud83d\ude80 Deployment\n\n### Docker Deployment\n\n```dockerfile\nFROM python:3.11-slim\n\nWORKDIR /app\nCOPY requirements.txt .\nRUN pip install -r requirements.txt\n\nCOPY . .\nEXPOSE 8000\n\nCMD [\"python\", \"my_server.py\"]\n```\n\n### Serverless Deployment\n\n```python\n# For AWS Lambda, Azure Functions, etc.\nfrom mcp_dev_toolkit import create_lambda_handler\n\nhandler = create_lambda_handler(sdk)\n\ndef lambda_handler(event, context):\n return handler(event, context)\n```\n\n## \ud83d\udcda API Reference\n\n### Core Classes\n\n- **MCPDevelopmentSDK** - Main SDK class\n- **ToolType** - Enum for tool types\n- **ToolMetadata** - Tool metadata container\n- **ToolSchema** - Complete tool schema\n- **Middleware** - Base middleware class\n\n### Decorators\n\n- **@sdk.tool()** - Register MCP tools\n- **@sdk.integration()** - Register API integrations\n\n### Utilities\n\n- **SchemaExtractor** - Extract schemas from functions\n- **MCPServerGenerator** - Generate complete servers\n- **OpenAPIGenerator** - Generate API specifications\n\n## \ud83e\udd1d Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Development Setup\n\n```bash\ngit clone https://github.com/yourusername/mcp-dev-toolkit.git\ncd mcp-dev-toolkit\npip install -e \".[dev]\"\npre-commit install\n```\n\n### Running Tests\n\n```bash\npytest tests/\npytest --cov=mcp_dev_toolkit tests/\n```\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built on the Model Context Protocol (MCP) specification\n- Inspired by modern API development frameworks\n- Thanks to all contributors and the MCP community\n\n---\n\n**Made with \u2764\ufe0f for the MCP community**\n\nFor more examples, documentation, and community support, visit our [GitHub repository](https://github.com/yourusername/mcp-dev-toolkit).\n",
"bugtrack_url": null,
"license": null,
"summary": "A comprehensive development toolkit for building Model Context Protocol (MCP) tools and servers",
"version": "1.1.0",
"project_urls": {
"Changelog": "https://github.com/mcp-toolkit/mcp-dev-toolkit/releases",
"Documentation": "https://github.com/mcp-toolkit/mcp-dev-toolkit#readme",
"Homepage": "https://github.com/mcp-toolkit/mcp-dev-toolkit",
"Issues": "https://github.com/mcp-toolkit/mcp-dev-toolkit/issues",
"Repository": "https://github.com/mcp-toolkit/mcp-dev-toolkit"
},
"split_keywords": [
"ai-tools",
" development-toolkit",
" mcp",
" model-context-protocol",
" sdk",
" server-tools"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c5f0fb0c93c4770db48c10a4c1afd3db9de0f2818832d7b3133cf2db1224a8c4",
"md5": "fadef33e7036d59e44c3289332448869",
"sha256": "8253670292254c37a656638961df64c7a1a44b406345e9420ebe1fe36d9a8cfe"
},
"downloads": -1,
"filename": "mcp_dev_toolkit-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fadef33e7036d59e44c3289332448869",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 98904,
"upload_time": "2025-07-20T03:02:17",
"upload_time_iso_8601": "2025-07-20T03:02:17.211974Z",
"url": "https://files.pythonhosted.org/packages/c5/f0/fb0c93c4770db48c10a4c1afd3db9de0f2818832d7b3133cf2db1224a8c4/mcp_dev_toolkit-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2b60e1d0c235ae26943a06bc5ee4f38e6f672d35ffa88f34a3daa92b21704772",
"md5": "b545567274eef7b5fb76e6302d8059eb",
"sha256": "f5f379d4b85293fb824ff0c5548e60331fc2174b098cf05fa3a3db7f02894dd6"
},
"downloads": -1,
"filename": "mcp_dev_toolkit-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "b545567274eef7b5fb76e6302d8059eb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 75991,
"upload_time": "2025-07-20T03:02:18",
"upload_time_iso_8601": "2025-07-20T03:02:18.531752Z",
"url": "https://files.pythonhosted.org/packages/2b/60/e1d0c235ae26943a06bc5ee4f38e6f672d35ffa88f34a3daa92b21704772/mcp_dev_toolkit-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-20 03:02:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mcp-toolkit",
"github_project": "mcp-dev-toolkit",
"github_not_found": true,
"lcname": "mcp-dev-toolkit"
}