Skip to main content

A server that exports Camel toolkits as MCP-compatible tools

Project description

Camel Toolkits MCP

A lightweight server that exports Camel framework toolkits as MCP-compatible tools.

Overview

This project bridges the gap between the Camel AI framework's toolkit ecosystem and MCP (Model Control Protocol) compatible clients. It allows you to dynamically load and expose any Camel toolkit as an MCP server, making these tools available to a wide range of LLM-based applications.

Key features:

  • Dynamically discover and list available Camel toolkits
  • Load and execute toolkit functions at runtime
  • Seamless conversion of Camel toolkit functions to MCP-compatible tools

Installation

You can install the package directly from PyPI:

pip install camel-toolkits-mcp

Or install from source:

git clone https://github.com/jinx0a/camel-toolkits-mcp.git
cd camel-toolkits-mcp
pip install -e .

Config with MCP clients

Using with uvx

You can easily configure uvx to run the Camel toolkits server like this:

{
  "mcpServers": {
    "camel-toolkits": {
      "command": "uvx",
      "args": [
        "camel-toolkits-mcp"
      ],
      "env": {
        "OPENAI_API_KEY": "your-openai-key",
        "NOTION_TOKEN": "your-notion-token",
        "..." : "..."
      }
    }
  }
}

Local Development Configuration

If you're developing this package locally, you can configure UVX to use your development version:

{
  "mcpServers": {
    "camel_toolkits_mcp": {
      "command": "/path/to/python",
      "args": [
        "/path/to/camel_toolkits_mcp/server.py"
      ],
      "env": {
        "OPENAI_API_KEY": "your-openai-key",
        "NOTION_TOKEN": "your-notion-token",
        "..." : "..."
      }
    }
  }
}

Available Tools

The server exposes the following MCP-compatible tools:

  • get_toolkits_list(): Lists all available Camel toolkits with their descriptions
  • list_toolkit_functions(toolkit_name, include_methods=True): Lists all functions available in a specific toolkit
  • execute_toolkit_function(toolkit_name, function_name, toolkit_params=None, function_args=None): Executes a specific function from a toolkit

Example: Using Tools

# First, discover available toolkits
toolkits = get_toolkits_list()
print(toolkits)  # Shows all available toolkits

# List functions in a specific toolkit (e.g., NotionToolkit)
functions = list_toolkit_functions(toolkit_name="NotionToolkit")

# Execute a toolkit function
result = execute_toolkit_function(
    toolkit_name="NotionToolkit",
    function_name="search_pages",
    toolkit_params={"notion_token": "your-notion-token"},
    function_args={"query": "meeting notes"}
)

Architecture

The router works by:

  1. Scanning the Camel framework's toolkit directory
  2. Analyzing each toolkit class to detect its tools and API requirements
  3. Creating proper MCP-compatible wrappers for each tool function
  4. Exposing these functions through the FastMCP server

Supported Toolkits

This server supports all toolkits in the Camel framework, including:

  • NotionToolkit
  • OpenAIToolkit
  • WebSearchToolkit
  • And many more...

API Key Management

For toolkits requiring API keys (like Notion, OpenAI, etc.), you should provide them in the environment variables when configuring the MCP server.

Development

To set up a development environment:

pip install -e ".[dev]"

Run tests:

pytest

Contributing

Contributions are welcome! The project uses GitHub Actions for CI/CD:

  1. Tests are run automatically on pull requests
  2. New releases are automatically published to PyPI when a GitHub release is created

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

camel_toolkits_mcp-0.1.3.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

camel_toolkits_mcp-0.1.3-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file camel_toolkits_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: camel_toolkits_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for camel_toolkits_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 0ecc58c64fe663d5cd565a1a7535dcab4530eac1478d0d4b130ba64ae3f40250
MD5 5a2c6b25d23c374336532ff9f278c903
BLAKE2b-256 e6f0d30dfa48a8199f0a7908c594931ba10047022cfc7c4d1a8c5aafcd4904d3

See more details on using hashes here.

File details

Details for the file camel_toolkits_mcp-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for camel_toolkits_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f96f5af12c0ad5dc9fa25231735099f417422dcf043c34dd4ac0b52cb19061c7
MD5 2fd284af22dae1b3d95247437431aeaa
BLAKE2b-256 0e5f19c3235c0a918a6032788d8b4df785f9353d862d15cd655f701ffc83550c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page