trac-mcp-server
Enables AI agents to manage Trac projects with full CRUD operations on tickets, wiki pages, and milestones via the Model Context Protocol.
README
<p align="center"> <img src="img/trac_mcp_server_banner_dark_1280.png" alt="trac-mcp-server banner" /> </p>
trac-mcp-server
Standalone MCP server that gives AI agents full access to Trac project management -- tickets, wiki, milestones, and search -- via the Model Context Protocol.
Quick Start
pip install .
Set your Trac connection:
export TRAC_URL="https://trac.example.com"
export TRAC_USERNAME="your-username"
export TRAC_PASSWORD="your-password"
Run the server:
trac-mcp-server
Configuration
Configuration via environment variables, .env file, or YAML config file (.trac_mcp/config.yaml):
| Variable | Required | Default | Description |
|---|---|---|---|
TRAC_URL |
Yes | -- | Trac instance URL |
TRAC_USERNAME |
Yes | -- | Trac username |
TRAC_PASSWORD |
Yes | -- | Trac password |
TRAC_INSECURE |
No | false |
Skip SSL verification (development only) |
TRAC_DEBUG |
No | false |
Enable debug logging |
TRAC_MAX_PARALLEL_REQUESTS |
No | 5 |
Max parallel XML-RPC requests |
TRAC_MAX_BATCH_SIZE |
No | 500 |
Max items per batch operation (1-10000) |
For YAML config file format and advanced options, see Configuration Reference.
MCP Client Integration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"trac": {
"command": "trac-mcp-server",
"env": {
"TRAC_URL": "https://trac.example.com",
"TRAC_USERNAME": "your-username",
"TRAC_PASSWORD": "your-password"
}
}
}
}
Claude Code
claude mcp add trac -e TRAC_URL=https://trac.example.com \
-e TRAC_USERNAME=your-username \
-e TRAC_PASSWORD=your-password \
-- trac-mcp-server
Other MCP Clients
Any MCP client that supports stdio transport can launch trac-mcp-server as a subprocess. Pass Trac credentials via environment variables.
Available Tools (27)
Tickets (11)
| Tool | Description |
|---|---|
ticket_search |
Search tickets with Trac query language |
ticket_get |
Get ticket details by ID |
ticket_create |
Create new tickets |
ticket_update |
Update existing tickets |
ticket_delete |
Delete tickets |
ticket_changelog |
Get ticket change history |
ticket_fields |
List available ticket fields |
ticket_actions |
Get available ticket actions |
ticket_batch_create |
Create multiple tickets in one batch |
ticket_batch_delete |
Delete multiple tickets in one batch |
ticket_batch_update |
Update multiple tickets in one batch |
Wiki (6)
| Tool | Description |
|---|---|
wiki_get |
Get wiki page content (with Markdown conversion) |
wiki_search |
Search wiki pages |
wiki_create |
Create new wiki pages |
wiki_update |
Update existing wiki pages |
wiki_delete |
Delete wiki pages |
wiki_recent_changes |
List recent wiki changes |
Wiki Files (3)
| Tool | Description |
|---|---|
wiki_file_push |
Push local file to wiki (auto format conversion) |
wiki_file_pull |
Pull wiki page to local file |
wiki_file_detect_format |
Detect content format (Markdown/TracWiki) |
Milestones (5)
| Tool | Description |
|---|---|
milestone_list |
List all milestones |
milestone_get |
Get milestone details |
milestone_create |
Create new milestones |
milestone_update |
Update existing milestones |
milestone_delete |
Delete milestones |
System (2)
| Tool | Description |
|---|---|
ping |
Test connectivity and return API version |
get_server_time |
Get Trac server time |
Development
pip install -e ".[dev]"
pytest tests/ -v
Project Structure
src/trac_mcp_server/
config.py # Environment variable configuration
core/ # Trac XML-RPC client, async utilities
mcp/ # MCP server, tools, resources
converters/ # Markdown <-> TracWiki conversion
detection/ # Content format detection
Documentation
See docs/reference/overview.md for detailed tool reference, configuration, and troubleshooting.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.