Skip to main content

CAMEL-AI

Connect a CAMEL-AI agent to Civic using MCPToolkit with an HTTP-based MCPClient. CAMEL-AI's toolkit discovers all Civic tools and exposes them to a ChatAgent.

Prerequisites

  • Python 3.11+
  • A Civic account at app.civic.com with a configured toolkit
  • A Civic token and an Anthropic API key

Installation

pip install camel-ai anthropic python-dotenv

Environment Variables

CIVIC_URL=https://app.civic.com/hub/mcp?profile=your-toolkit
CIVIC_TOKEN=your-civic-token
ANTHROPIC_API_KEY=your-anthropic-key
Get Your Credentials

How to generate a Civic token and configure toolkit URL parameters

Connecting to Civic

Create an MCPClient with a ServerConfig, then connect the toolkit explicitly before use:

import os
import asyncio
from dotenv import load_dotenv
from camel.toolkits.mcp_toolkit import MCPToolkit
from camel.utils.mcp_client import MCPClient, ServerConfig
from camel.agents import ChatAgent
from camel.models import ModelFactory
from camel.types import ModelPlatformType

load_dotenv()

async def main():
client = MCPClient(
config=ServerConfig(
url=os.environ["CIVIC_URL"],
headers={"Authorization": f"Bearer {os.environ['CIVIC_TOKEN']}"},
)
)
toolkit = MCPToolkit(clients=[client])

await toolkit.connect()
try:
tools = toolkit.get_tools()
print(f"{len(tools)} tools loaded")

model = ModelFactory.create(
model_platform=ModelPlatformType.ANTHROPIC,
model_type="claude-sonnet-4-6",
)
agent = ChatAgent(
system_message="You are a helpful assistant with access to Civic tools.",
model=model,
tools=tools,
)

response = agent.step("What events do I have today?")
print(response.msgs[0].content)
finally:
await toolkit.disconnect()

asyncio.run(main())
note

Use await toolkit.connect() and await toolkit.disconnect()MCPToolkit does not have a connection() async context manager method. Always disconnect in a finally block to avoid hanging connections.

Production Configuration

For production agents, lock to a specific toolkit using the profile URL parameter:

CIVIC_URL=https://app.civic.com/hub/mcp?profile=your-production-toolkit

Reference Implementation

camel-ai-reference-implementation-civic

Complete implementation with FastAPI chat UI and deployment guide

Next Steps