mcp-kit


Namemcp-kit JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryMCP tooling for developing and optimizing multi-agent AI systems.
upload_time2025-07-11 22:12:11
maintainerNone
docs_urlNone
authorNone
requires_python<3.13,>=3.10
licenseNone
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**

[![Python](https://img.shields.io/badge/python-3.10--3.12-blue.svg)](https://python.org)
[![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)](LICENSE)
[![PyPI](https://img.shields.io/badge/PyPI-mcp--kit-orange.svg)](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[![Python](https://img.shields.io/badge/python-3.10--3.12-blue.svg)](https://python.org)\n[![License](https://img.shields.io/badge/license-Apache%202.0-green.svg)](LICENSE)\n[![PyPI](https://img.shields.io/badge/PyPI-mcp--kit-orange.svg)](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"
}
        
Elapsed time: 0.56974s