Name | mcp-kit JSON |
Version |
0.2.1
JSON |
| download |
home_page | None |
Summary | MCP tooling for developing and optimizing multi-agent AI systems. |
upload_time | 2025-07-11 22:12:11 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.13,>=3.10 |
license | None |
keywords |
agent
ai
llm
mcp
mock
oas
openapi
proxy
tool
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# MCP Kit Python
**MCP tooling for developing and optimizing multi-agent AI systems**
[](https://python.org)
[](LICENSE)
[](https://pypi.org/project/mcp-kit/)
=============================
A comprehensive toolkit for working with the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/), providing seamless integration between AI agents and various data sources, APIs, and services. Whether you're building, testing, or deploying multi-agent systems, MCP Kit simplifies the complexity of tool orchestration and provides powerful mocking capabilities for development.
## Features
### **Flexible Target System**
- **MCP Servers**: Connect to existing MCP servers (hosted or from specifications)
- **OpenAPI Integration**: Automatically convert REST APIs to MCP tools using OpenAPI/Swagger specs
- **Mock Responses**: Generate realistic test data using LLM or random generators
- **Multiplexing**: Combine multiple targets into a unified interface
### **Framework Adapters**
- **OpenAI Agents SDK**: Native integration with OpenAI's agent framework
- **LangGraph**: Seamless tool integration for LangGraph workflows
- **Generic Client Sessions**: Direct MCP protocol communication
- **Official MCP Server**: Standard MCP server wrapper
### **Configuration-Driven Architecture**
- **YAML/JSON Configuration**: Declarative setup for complex workflows
- **Factory Pattern**: Clean, testable component creation
- **Environment Variables**: Secure credential management
### **Advanced Response Generation**
- **LLM-Powered Mocking**: Generate contextually appropriate responses using LLMs
- **Random Data Generation**: Create test data for development and testing
- **Custom Generators**: Implement your own response generation logic
---
## Quick Start
### Installation
```bash
uv add mcp-kit
```
### Basic Usage
#### First you write the Proxy config:
```yaml
# proxy_config.yaml
""" A mocked REST API target given the OpenAPI spec using LLM-generated responses
"""
target:
type: mocked
base_target:
type: oas
name: base-oas-server
spec_url: https://petstore3.swagger.io/api/v3/openapi.json
tool_response_generator:
type: llm
model: openai/gpt-4.1-nano
```
#### Don't forget to setup the LLM API KEY:
```bash
# .env
OPENAI_API_KEY="your_openai_key"
```
#### Then we can use it as any other MCP:
```python
# main.py
from mcp_kit import ProxyMCP
async def main():
# Create proxy from configuration
proxy = ProxyMCP.from_config("proxy_config.yaml")
# Use with MCP client session adapter
async with proxy.client_session_adapter() as session:
tools = await session.list_tools()
result = await session.call_tool("get_pet", {"pet_id": "777"})
print(result)
if __name__ == "__main__":
import asyncio
asyncio.run(main())
```
---
## Core Concepts
### Targets
**Targets** are the core abstraction in MCP Kit, representing different types of tool providers:
#### MCP Target
Connect to existing MCP servers:
```yaml
target:
type: mcp
name: my-mcp-server
url: http://localhost:8080/mcp
headers:
Authorization: Bearer token123
```
#### OpenAPI Target
Convert REST APIs to MCP tools:
```yaml
target:
type: oas
name: petstore-api
spec_url: https://petstore3.swagger.io/api/v3/openapi.json
```
#### Mocked Target
Generate fake responses for testing:
```yaml
target:
type: mocked
base_target:
type: mcp
name: test-server
url: http://localhost:9000/mcp
tool_response_generator:
type: llm
model: openai/gpt-4.1-nano
```
#### Multiplex Target
Combine multiple targets:
```yaml
target:
type: multiplex
name: combined-services
targets:
- type: mcp
name: weather-service
url: http://localhost:8080/mcp
- type: oas
name: petstore
spec_url: https://petstore3.swagger.io/api/v3/openapi.json
```
### Adapters
**Adapters** provide framework-specific interfaces for your targets:
- **Client Session Adapter**: Direct MCP protocol communication
- **OpenAI Agents Adapter**: Integration with OpenAI's agent framework
- **LangGraph Adapter**: Tools for LangGraph workflows
- **Official MCP Server**: Standard MCP server wrapper
### Response Generators
**Response Generators** create mock responses for testing and development:
- **LLM Generator**: Uses language models to generate contextually appropriate responses
- **Random Generator**: Creates random test data
- **Custom Generators**: Implement your own logic
---
## Examples
### OpenAI Agents SDK Integration
```python
from mcp_kit import ProxyMCP
from agents import Agent, Runner, trace
import asyncio
async def openai_example():
proxy = ProxyMCP.from_config("proxy_config.yaml")
async with proxy.openai_agents_mcp_server() as mcp_server:
# Use with OpenAI Agents SDK
agent = Agent(
name="research_agent",
instructions="You are a research assistant with access to various tools.",
model="gpt-4.1-nano",
mcp_servers=[mcp_server]
)
response = await Runner.run(
agent,
"What's the weather like in San Francisco?"
)
print(response.final_output)
if __name__ == "__main__":
asyncio.run(openai_example())
```
### LangGraph Workflow Integration
```python
from mcp_kit import ProxyMCP
from langgraph.prebuilt import create_react_agent
import asyncio
async def langgraph_example():
proxy = ProxyMCP.from_config("proxy_config.yaml")
# Get LangChain-compatible tools
client = proxy.langgraph_multi_server_mcp_client()
async with client.session("your_server_name") as _:
# Get the MCP tools as LangChain tools
tools = await client.get_tools(server_name="your_server_name")
# Create ReAct agent
agent = create_react_agent(model="google_genai:gemini-2.0-flash", tools=tools)
# Run workflow
response = await agent.ainvoke({
"messages": [{"role": "user", "content": "Analyze Q1 expenses"}]
})
# Extract result
final_message = response["messages"][-1]
print(final_message.content)
if __name__ == "__main__":
asyncio.run(langgraph_example())
```
### Testing with Mocked Responses
```python
from mcp_kit import ProxyMCP
import asyncio
async def testing_example():
# Configuration with LLM-powered mocking
proxy = ProxyMCP.from_config("proxy_config.yaml")
async with proxy.client_session_adapter() as session:
# These calls will return realistic mock data
tools = await session.list_tools()
expenses = await session.call_tool("get_expenses", {"period": "Q1"})
revenues = await session.call_tool("get_revenues", {"period": "Q1"})
print(f"Available tools: {[tool.name for tool in tools.tools]}")
print(f"Mock expenses: {expenses}")
print(f"Mock revenues: {revenues}")
if __name__ == "__main__":
asyncio.run(testing_example())
```
### Configuration Examples
#### Development with Mocking
```yaml
# dev_proxy_config.yaml
target:
type: mocked
base_target:
type: oas
name: accounting-api
spec_url: https://api.company.com/accounting/openapi.json
tool_response_generator:
type: llm
model: openai/gpt-4.1-nano
```
#### Production MCP Server
```yaml
# prod_proxy_config.yaml
target:
type: mcp
name: production-accounting
url: https://mcp.company.com/accounting
headers:
Authorization: Bearer ${PROD_API_KEY}
X-Client-Version: "1.0.0"
```
#### Multi-Service Architecture
```yaml
# multi_proxy_config.yaml
target:
type: multiplex
name: enterprise-tools
targets:
- type: mcp
name: crm-service
url: https://mcp.company.com/crm
- type: oas
name: analytics-api
spec_url: https://api.company.com/analytics/openapi.json
- type: mocked
base_target:
type: mcp
name: experimental-service
url: https://beta.company.com/mcp
tool_response_generator:
type: random
```
---
## Advanced Configuration
### Environment Variables
```bash
# .env file
OPENAI_API_KEY=your-openai-key
WEATHER_API_KEY=your-weather-key
```
### Custom Response Generators
```python
from mcp_kit.generators import ToolResponseGenerator
from mcp_kit import ProxyMCP
class CustomGenerator(ToolResponseGenerator):
async def generate(self, target_name: str, tool: Tool, arguments: dict[str, Any] | None = None) -> list[Content]:
# Your custom logic here
return [TextContent(type="text", text=f"Custom response for {tool.name} on {target_name}")]
# Use in configuration
proxy = ProxyMCP(
target=MockedTarget(
base_target=McpTarget("test", "http://localhost:8080"),
mock_config=MockConfig(tool_response_generator=CustomGenerator())
)
)
```
---
## Project Structure
```
mcp-kit-python/
├── src/mcp_kit/
│ ├── adapters/ # Framework adapters
│ │ ├── client_session.py
│ │ ├── openai.py
│ │ └── langgraph.py
│ ├── generators/ # Response generators
│ │ ├── llm.py
│ │ └── random.py
│ ├── targets/ # Target implementations
│ │ ├── mcp.py
│ │ ├── oas.py
│ │ ├── mocked.py
│ │ └── multiplex.py
│ ├── factory.py # Factory pattern implementation
│ └── proxy.py # Main ProxyMCP class
├── examples/ # Usage examples
│ ├── openai_agents_sdk/
│ ├── langgraph/
│ ├── mcp_client_session/
│ └── proxy_configs/
└── tests/ # Test suite
```
---
## Contributing
We welcome contributions! Please see our [Contributing Guide](https://github.com/agentiqs/mcp-kit-python/blob/main/CONTRIBUTING.md) for details.
### Development Setup
```bash
git clone https://github.com/agentiqs/mcp-kit-python.git
cd mcp-kit-python
uv sync --dev
pre-commit install
```
### Running Tests
```bash
uv run pytest tests/ -v
```
---
## Documentation
- [Installation Guide](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/user-guide/installation.md)
- [Configuration Reference](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/user-guide/configuration.md)
- [Framework Adapters](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/user-guide/adapters.md)
- [API Reference](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/reference/)
- [Examples](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/examples/)
---
## License
This project is licensed under the Apache License 2.0 - see the [LICENSE](https://github.com/agentiqs/mcp-kit-python/blob/main/LICENSE) file for details.
---
## Support
- [GitHub Issues](https://github.com/agentiqs/mcp-kit-python/issues)
- [Documentation](https://docs.agentiqs.ai/mcp-kit-python/docs)
- [Examples](https://github.com/agentiqs/mcp-kit-python/blob/main/examples/)
---
**Built with ❤️ by [Agentiqs](https://agentiqs.ai)**
Raw data
{
"_id": null,
"home_page": null,
"name": "mcp-kit",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": "Mauro <mauro@agentiqs.ai>, Guido <guido@agentiqs.ai>",
"keywords": "agent, ai, llm, mcp, mock, oas, openapi, proxy, tool",
"author": null,
"author_email": "Agentiqs <support@agentiqs.ai>",
"download_url": "https://files.pythonhosted.org/packages/1a/03/4e546220fa71d1e6d3e109b0759ec799d67054500fa9ff48699a4e77da52/mcp_kit-0.2.1.tar.gz",
"platform": null,
"description": "# MCP Kit Python\n\n**MCP tooling for developing and optimizing multi-agent AI systems**\n\n[](https://python.org)\n[](LICENSE)\n[](https://pypi.org/project/mcp-kit/)\n=============================\nA comprehensive toolkit for working with the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/), providing seamless integration between AI agents and various data sources, APIs, and services. Whether you're building, testing, or deploying multi-agent systems, MCP Kit simplifies the complexity of tool orchestration and provides powerful mocking capabilities for development.\n\n## Features\n\n### **Flexible Target System**\n- **MCP Servers**: Connect to existing MCP servers (hosted or from specifications)\n- **OpenAPI Integration**: Automatically convert REST APIs to MCP tools using OpenAPI/Swagger specs\n- **Mock Responses**: Generate realistic test data using LLM or random generators\n- **Multiplexing**: Combine multiple targets into a unified interface\n\n### **Framework Adapters**\n- **OpenAI Agents SDK**: Native integration with OpenAI's agent framework\n- **LangGraph**: Seamless tool integration for LangGraph workflows\n- **Generic Client Sessions**: Direct MCP protocol communication\n- **Official MCP Server**: Standard MCP server wrapper\n\n### **Configuration-Driven Architecture**\n- **YAML/JSON Configuration**: Declarative setup for complex workflows\n- **Factory Pattern**: Clean, testable component creation\n- **Environment Variables**: Secure credential management\n\n### **Advanced Response Generation**\n- **LLM-Powered Mocking**: Generate contextually appropriate responses using LLMs\n- **Random Data Generation**: Create test data for development and testing\n- **Custom Generators**: Implement your own response generation logic\n\n---\n\n## Quick Start\n\n### Installation\n\n```bash\nuv add mcp-kit\n```\n\n### Basic Usage\n\n#### First you write the Proxy config:\n\n```yaml\n# proxy_config.yaml\n\"\"\" A mocked REST API target given the OpenAPI spec using LLM-generated responses\n\"\"\"\ntarget:\n type: mocked\n base_target:\n type: oas\n name: base-oas-server\n spec_url: https://petstore3.swagger.io/api/v3/openapi.json\n tool_response_generator:\n type: llm\n model: openai/gpt-4.1-nano\n```\n\n#### Don't forget to setup the LLM API KEY:\n\n```bash\n# .env\nOPENAI_API_KEY=\"your_openai_key\"\n```\n\n#### Then we can use it as any other MCP:\n\n\n```python\n# main.py\nfrom mcp_kit import ProxyMCP\n\n\nasync def main():\n # Create proxy from configuration\n proxy = ProxyMCP.from_config(\"proxy_config.yaml\")\n\n # Use with MCP client session adapter\n async with proxy.client_session_adapter() as session:\n tools = await session.list_tools()\n result = await session.call_tool(\"get_pet\", {\"pet_id\": \"777\"})\n print(result)\n\n\nif __name__ == \"__main__\":\n import asyncio\n\n asyncio.run(main())\n```\n\n---\n\n## Core Concepts\n\n### Targets\n\n**Targets** are the core abstraction in MCP Kit, representing different types of tool providers:\n\n#### MCP Target\nConnect to existing MCP servers:\n```yaml\ntarget:\n type: mcp\n name: my-mcp-server\n url: http://localhost:8080/mcp\n headers:\n Authorization: Bearer token123\n```\n\n#### OpenAPI Target\nConvert REST APIs to MCP tools:\n```yaml\ntarget:\n type: oas\n name: petstore-api\n spec_url: https://petstore3.swagger.io/api/v3/openapi.json\n```\n\n#### Mocked Target\nGenerate fake responses for testing:\n```yaml\ntarget:\n type: mocked\n base_target:\n type: mcp\n name: test-server\n url: http://localhost:9000/mcp\n tool_response_generator:\n type: llm\n model: openai/gpt-4.1-nano\n```\n\n#### Multiplex Target\nCombine multiple targets:\n```yaml\ntarget:\n type: multiplex\n name: combined-services\n targets:\n - type: mcp\n name: weather-service\n url: http://localhost:8080/mcp\n - type: oas\n name: petstore\n spec_url: https://petstore3.swagger.io/api/v3/openapi.json\n```\n\n### Adapters\n\n**Adapters** provide framework-specific interfaces for your targets:\n\n- **Client Session Adapter**: Direct MCP protocol communication\n- **OpenAI Agents Adapter**: Integration with OpenAI's agent framework\n- **LangGraph Adapter**: Tools for LangGraph workflows\n- **Official MCP Server**: Standard MCP server wrapper\n\n### Response Generators\n\n**Response Generators** create mock responses for testing and development:\n\n- **LLM Generator**: Uses language models to generate contextually appropriate responses\n- **Random Generator**: Creates random test data\n- **Custom Generators**: Implement your own logic\n\n---\n\n## Examples\n\n### OpenAI Agents SDK Integration\n\n```python\nfrom mcp_kit import ProxyMCP\nfrom agents import Agent, Runner, trace\nimport asyncio\n\nasync def openai_example():\n proxy = ProxyMCP.from_config(\"proxy_config.yaml\")\n\n async with proxy.openai_agents_mcp_server() as mcp_server:\n # Use with OpenAI Agents SDK\n agent = Agent(\n name=\"research_agent\",\n instructions=\"You are a research assistant with access to various tools.\",\n model=\"gpt-4.1-nano\",\n mcp_servers=[mcp_server]\n )\n\n response = await Runner.run(\n agent,\n \"What's the weather like in San Francisco?\"\n )\n print(response.final_output)\n\nif __name__ == \"__main__\":\n asyncio.run(openai_example())\n```\n\n### LangGraph Workflow Integration\n\n```python\nfrom mcp_kit import ProxyMCP\nfrom langgraph.prebuilt import create_react_agent\nimport asyncio\n\nasync def langgraph_example():\n proxy = ProxyMCP.from_config(\"proxy_config.yaml\")\n\n # Get LangChain-compatible tools\n client = proxy.langgraph_multi_server_mcp_client()\n\n async with client.session(\"your_server_name\") as _:\n # Get the MCP tools as LangChain tools\n tools = await client.get_tools(server_name=\"your_server_name\")\n\n # Create ReAct agent\n agent = create_react_agent(model=\"google_genai:gemini-2.0-flash\", tools=tools)\n\n # Run workflow\n response = await agent.ainvoke({\n \"messages\": [{\"role\": \"user\", \"content\": \"Analyze Q1 expenses\"}]\n })\n\n # Extract result\n final_message = response[\"messages\"][-1]\n print(final_message.content)\n\nif __name__ == \"__main__\":\n asyncio.run(langgraph_example())\n```\n\n### Testing with Mocked Responses\n\n```python\nfrom mcp_kit import ProxyMCP\nimport asyncio\n\nasync def testing_example():\n # Configuration with LLM-powered mocking\n proxy = ProxyMCP.from_config(\"proxy_config.yaml\")\n\n async with proxy.client_session_adapter() as session:\n # These calls will return realistic mock data\n tools = await session.list_tools()\n expenses = await session.call_tool(\"get_expenses\", {\"period\": \"Q1\"})\n revenues = await session.call_tool(\"get_revenues\", {\"period\": \"Q1\"})\n\n print(f\"Available tools: {[tool.name for tool in tools.tools]}\")\n print(f\"Mock expenses: {expenses}\")\n print(f\"Mock revenues: {revenues}\")\n\nif __name__ == \"__main__\":\n asyncio.run(testing_example())\n```\n\n### Configuration Examples\n\n#### Development with Mocking\n```yaml\n# dev_proxy_config.yaml\ntarget:\n type: mocked\n base_target:\n type: oas\n name: accounting-api\n spec_url: https://api.company.com/accounting/openapi.json\n tool_response_generator:\n type: llm\n model: openai/gpt-4.1-nano\n```\n\n#### Production MCP Server\n```yaml\n# prod_proxy_config.yaml\ntarget:\n type: mcp\n name: production-accounting\n url: https://mcp.company.com/accounting\n headers:\n Authorization: Bearer ${PROD_API_KEY}\n X-Client-Version: \"1.0.0\"\n```\n\n#### Multi-Service Architecture\n```yaml\n# multi_proxy_config.yaml\ntarget:\n type: multiplex\n name: enterprise-tools\n targets:\n - type: mcp\n name: crm-service\n url: https://mcp.company.com/crm\n - type: oas\n name: analytics-api\n spec_url: https://api.company.com/analytics/openapi.json\n - type: mocked\n base_target:\n type: mcp\n name: experimental-service\n url: https://beta.company.com/mcp\n tool_response_generator:\n type: random\n```\n\n---\n\n## Advanced Configuration\n\n### Environment Variables\n\n```bash\n# .env file\nOPENAI_API_KEY=your-openai-key\nWEATHER_API_KEY=your-weather-key\n```\n\n### Custom Response Generators\n\n```python\nfrom mcp_kit.generators import ToolResponseGenerator\nfrom mcp_kit import ProxyMCP\n\nclass CustomGenerator(ToolResponseGenerator):\n async def generate(self, target_name: str, tool: Tool, arguments: dict[str, Any] | None = None) -> list[Content]:\n # Your custom logic here\n return [TextContent(type=\"text\", text=f\"Custom response for {tool.name} on {target_name}\")]\n\n# Use in configuration\nproxy = ProxyMCP(\n target=MockedTarget(\n base_target=McpTarget(\"test\", \"http://localhost:8080\"),\n mock_config=MockConfig(tool_response_generator=CustomGenerator())\n )\n)\n```\n\n---\n\n## Project Structure\n\n```\nmcp-kit-python/\n\u251c\u2500\u2500 src/mcp_kit/\n\u2502 \u251c\u2500\u2500 adapters/ # Framework adapters\n\u2502 \u2502 \u251c\u2500\u2500 client_session.py\n\u2502 \u2502 \u251c\u2500\u2500 openai.py\n\u2502 \u2502 \u2514\u2500\u2500 langgraph.py\n\u2502 \u251c\u2500\u2500 generators/ # Response generators\n\u2502 \u2502 \u251c\u2500\u2500 llm.py\n\u2502 \u2502 \u2514\u2500\u2500 random.py\n\u2502 \u251c\u2500\u2500 targets/ # Target implementations\n\u2502 \u2502 \u251c\u2500\u2500 mcp.py\n\u2502 \u2502 \u251c\u2500\u2500 oas.py\n\u2502 \u2502 \u251c\u2500\u2500 mocked.py\n\u2502 \u2502 \u2514\u2500\u2500 multiplex.py\n\u2502 \u251c\u2500\u2500 factory.py # Factory pattern implementation\n\u2502 \u2514\u2500\u2500 proxy.py # Main ProxyMCP class\n\u251c\u2500\u2500 examples/ # Usage examples\n\u2502 \u251c\u2500\u2500 openai_agents_sdk/\n\u2502 \u251c\u2500\u2500 langgraph/\n\u2502 \u251c\u2500\u2500 mcp_client_session/\n\u2502 \u2514\u2500\u2500 proxy_configs/\n\u2514\u2500\u2500 tests/ # Test suite\n```\n\n---\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](https://github.com/agentiqs/mcp-kit-python/blob/main/CONTRIBUTING.md) for details.\n\n### Development Setup\n\n```bash\ngit clone https://github.com/agentiqs/mcp-kit-python.git\ncd mcp-kit-python\nuv sync --dev\npre-commit install\n```\n\n### Running Tests\n\n```bash\nuv run pytest tests/ -v\n```\n\n---\n\n## Documentation\n\n- [Installation Guide](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/user-guide/installation.md)\n- [Configuration Reference](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/user-guide/configuration.md)\n- [Framework Adapters](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/user-guide/adapters.md)\n- [API Reference](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/reference/)\n- [Examples](https://github.com/agentiqs/mcp-kit-python/blob/main/docs/examples/)\n\n---\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](https://github.com/agentiqs/mcp-kit-python/blob/main/LICENSE) file for details.\n\n---\n\n## Support\n\n- [GitHub Issues](https://github.com/agentiqs/mcp-kit-python/issues)\n- [Documentation](https://docs.agentiqs.ai/mcp-kit-python/docs)\n- [Examples](https://github.com/agentiqs/mcp-kit-python/blob/main/examples/)\n\n---\n\n**Built with \u2764\ufe0f by [Agentiqs](https://agentiqs.ai)**",
"bugtrack_url": null,
"license": null,
"summary": "MCP tooling for developing and optimizing multi-agent AI systems.",
"version": "0.2.1",
"project_urls": {
"Changelog": "https://github.com/agentiqs/mcp-kit-python/blob/main/CHANGELOG.md",
"Documentation": "https://docs.agentiqs.ai/mcp-kit-python/docs",
"Homepage": "https://agentiqs.ai/",
"Issues": "https://github.com/agentiqs/mcp-kit-python/issues",
"Repository": "https://github.com/agentiqs/mcp-kit-python"
},
"split_keywords": [
"agent",
" ai",
" llm",
" mcp",
" mock",
" oas",
" openapi",
" proxy",
" tool"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b46ff4b3572cef5b8c071fc8819c9f29a1692f83d84cf92bdddcb207ca3e7b46",
"md5": "69304e34cfc45e22bb27ef066a6f5f70",
"sha256": "c0ad8732d0c4bda285d7aea15a672289eb90da56526e55a2ec47306fd156784c"
},
"downloads": -1,
"filename": "mcp_kit-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "69304e34cfc45e22bb27ef066a6f5f70",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 29495,
"upload_time": "2025-07-11T22:12:09",
"upload_time_iso_8601": "2025-07-11T22:12:09.594642Z",
"url": "https://files.pythonhosted.org/packages/b4/6f/f4b3572cef5b8c071fc8819c9f29a1692f83d84cf92bdddcb207ca3e7b46/mcp_kit-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1a034e546220fa71d1e6d3e109b0759ec799d67054500fa9ff48699a4e77da52",
"md5": "c64dd04831bb5f7e0e44d58b38246d4e",
"sha256": "8fee34ade435731dc9cfe8208ac5ae18955ced9e45fc44bde3a37597ed1f197b"
},
"downloads": -1,
"filename": "mcp_kit-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "c64dd04831bb5f7e0e44d58b38246d4e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 1203038,
"upload_time": "2025-07-11T22:12:11",
"upload_time_iso_8601": "2025-07-11T22:12:11.193939Z",
"url": "https://files.pythonhosted.org/packages/1a/03/4e546220fa71d1e6d3e109b0759ec799d67054500fa9ff48699a4e77da52/mcp_kit-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 22:12:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "agentiqs",
"github_project": "mcp-kit-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "mcp-kit"
}