The Taiga MCP Bridge server enables AI tools to manage Taiga project management resources programmatically through the Model Context Protocol (MCP). It provides:
Authentication: Login, logout, and session status management
Project Management: Create, list, update, and delete projects and settings
User Stories/Tasks/Issues/Epics: Create, get, update, delete, assign, and track status
Milestone Management: Handle sprints with statistics tracking
User Administration: List members, manage roles, and send invitations
Wiki Access: List and retrieve wiki pages
Status Management: Access available statuses for stories, tasks, issues, and epics
Resource Details: Query detailed information by ID or reference
Allows configuration through environment variables or a .env file for settings like API URLs, session expiry, and logging options
Used for configuration settings and validation of data structures within the bridge
Supports comprehensive testing capabilities including unit tests, integration tests, and test coverage reporting
Provides a Python-based integration layer for connecting to Taiga's resources and APIs
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Taiga MCP Bridgecreate a new task for sprint 3 to fix the login bug"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Taiga MCP Bridge
Overview
The Taiga MCP Bridge is a powerful integration layer that connects Taiga project management platform with the Model Context Protocol (MCP), enabling AI tools and workflows to interact seamlessly with Taiga's resources.
This bridge provides a comprehensive set of tools and resources for AI agents to:
Create and manage projects, epics, user stories, tasks, and issues in Taiga
Track sprints and milestones
Assign and update work items
Query detailed information about project artifacts
Manage project members and permissions
By using the MCP standard, this bridge allows AI systems to maintain contextual awareness about project state and perform complex project management tasks programmatically.
Related MCP server: Targetprocess MCP Server
Features
Comprehensive Resource Support
The bridge supports the following Taiga resources with complete CRUD operations:
Projects: Create, update, and manage project settings and metadata
Epics: Manage large features that span multiple sprints
User Stories: Handle detailed requirements and acceptance criteria
Tasks: Track smaller units of work within user stories
Issues: Manage bugs, questions, and enhancement requests
Sprints (Milestones): Plan and track work in time-boxed intervals
Security & Configuration
Secure Credentials: Environment variable authentication with credential protection - passwords never appear in logs or error messages
Auto-Authentication: Configure
TAIGA_USERNAMEandTAIGA_PASSWORDenvironment variables for seamless startup without manual loginInput Validation: Allowlist-based parameter validation prevents unexpected data from reaching the Taiga API
Response Filtering
All tools support a verbosity parameter to control response size, reducing AI context usage:
Level | Description | Use Case |
| Core fields only (id, ref, subject, status, project) | Listing many items |
| Common fields including version for updates (default) | Normal operations |
| Complete API response | Debugging, full details |
Example:
Installation
This project uses uv for fast, reliable Python package management.
Prerequisites
Python 3.10 or higher
uv package manager
Basic Installation
Development Installation
For development (includes testing and code quality tools):
Manual Installation
If you prefer to install manually:
Configuration
The bridge can be configured through environment variables or a .env file:
Environment Variable | Description | Default |
| Base URL for the Taiga API | |
| Taiga username for auto-authentication | (none) |
| Taiga password for auto-authentication | (none) |
| Transport mode (stdio or sse) | stdio |
| Logging level | INFO |
Create a .env file in the project root to set these values:
Security Note: Credentials are protected and will never appear in logs, error messages, or stack traces. When TAIGA_USERNAME and TAIGA_PASSWORD are configured, the server auto-authenticates on startup - no manual login required.
Usage
With stdio mode
Paste the following json in your Claude App's or Cursor's mcp settings section.
Recommended: Set credentials via environment variables in your shell profile rather than in config files to avoid exposing them in plaintext.
Running the Bridge
Start the MCP server with:
Or manually:
Transport Modes
The server supports two transport modes:
stdio (Standard Input/Output) - Default mode for terminal-based clients
SSE (Server-Sent Events) - Web-based transport with server push capabilities
You can set the transport mode in several ways:
Using the
--sseflag with run.sh or server.py (default is stdio)Setting the
TAIGA_TRANSPORTenvironment variableAdding
TAIGA_TRANSPORT=sseto your.envfile
Authentication Flow
Auto-Authentication (Recommended)
If TAIGA_USERNAME and TAIGA_PASSWORD environment variables are set, the server automatically authenticates on startup. You can omit session_id from tool calls to use the default session:
Manual Session Management
For scenarios requiring multiple sessions or explicit control, use the session-based model:
Login: Authenticate using the
logintool:session = client.call_tool("login", { "username": "your_taiga_username", "password": "your_taiga_password", "host": "https://api.taiga.io" # Optional }) # Save the session_id from the response session_id = session["session_id"]Using Tools and Resources: Include the
session_idin every API call:# For resources, include session_id in the URI projects = client.get_resource(f"taiga://projects?session_id={session_id}") # For project-specific resources epics = client.get_resource(f"taiga://projects/123/epics?session_id={session_id}") # For tools, include session_id as a parameter new_project = client.call_tool("create_project", { "session_id": session_id, "name": "New Project", "description": "Description" })Check Session Status: You can check if your session is still valid:
status = client.call_tool("session_status", {"session_id": session_id}) # Returns information about session validity and remaining timeLogout: When finished, you can logout to terminate the session:
client.call_tool("logout", {"session_id": session_id})
Example: Complete Project Creation Workflow
Here's a complete example of creating a project with epics and user stories:
Development
Project Structure
Testing
Run tests with pytest:
Debugging and Inspection
Use the included inspector tool for debugging:
Error Handling
All API operations return standardized error responses in the following format:
Planned Features
The following features are planned for future releases:
Session expiration and automatic cleanup
Rate limiting for API calls
Retry mechanism with exponential backoff
Connection pooling
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Install development dependencies (
./install.sh --dev)Make your changes
Run tests (
pytest)Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Taiga for their excellent project management platform
Model Context Protocol (MCP) for the standardized AI communication framework
All contributors who have helped shape this project
Appeared in Searches
- Productivity Tools Like Google Calendar, Sunsama, TickTick, and Notion for Task Management
- Repositories for Task Management and Boomerang Functionality
- A tool or method to manage projects and tasks in GitHub Projects
- A platform or marketplace for APIs
- Resources to Improve AI Coding Ability in C++ and Rust