AutoGen
Connect a Microsoft AutoGen agent to Civic using mcp_server_tools with Streamable HTTP transport and the native Anthropic model client.
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 "autogen-agentchat" "autogen-ext[mcp,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
Use mcp_server_tools to discover and load all Civic tools, then pass them to an AssistantAgent:
import os
import asyncio
from dotenv import load_dotenv
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_agentchat.conditions import TextMentionTermination
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.tools.mcp import mcp_server_tools, StreamableHttpServerParams
from autogen_ext.models.anthropic import AnthropicChatCompletionClient
load_dotenv()
async def main():
server_params = StreamableHttpServerParams(
url=os.environ["CIVIC_URL"],
headers={"Authorization": f"Bearer {os.environ['CIVIC_TOKEN']}"},
)
tools = await mcp_server_tools(server_params)
print(f"{len(tools)} tools loaded")
model_client = AnthropicChatCompletionClient(model="claude-sonnet-4-6")
agent = AssistantAgent(
name="civic_assistant",
model_client=model_client,
tools=tools,
system_message="You are a helpful assistant with access to Civic tools.",
)
response = await agent.run(task="What events do I have today?")
print(response.messages[-1].content)
asyncio.run(main())
note
Use mcp_server_tools(server_params) — not StreamableHttpMcpToolAdapter. The adapter requires a tool argument that is not available during initialization.
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
autogen-reference-implementation-civic
Complete implementation with FastAPI chat UI and deployment guide