MCP Integration
Connect AI agents directly to Gnoll using the Model Context Protocol (MCP). Agents can create, update, query, and close issues through natural tool calls.
What is MCP?
The Model Context Protocol is a standard for connecting AI models to external tools and data sources. Gnoll implements an MCP server that exposes all major features as tools that AI agents can call.
Connecting
The MCP endpoint is available at:
/mcp
It requires authentication (cookie-based or API key). Configure your AI agent's MCP client to connect to:
https://your-instance.com/mcp
Authentication: Pass your API key as a Bearer token in the Authorization header, just like the REST API.
Available Tools
Gnoll exposes the following MCP tool groups:
Issue Tools
| Tool | Description |
list_issues | List issues with filters (status, type, priority, assignee) |
get_issue | Get full issue details |
create_issue | Create a new issue |
update_issue | Update issue fields |
close_issue | Close an issue |
reopen_issue | Reopen a closed issue |
move_issue | Move an issue to another project |
get_issue_history | View change history |
Comment Tools
| Tool | Description |
list_comments | List comments on an issue |
add_comment | Add a comment to an issue |
delete_comment | Remove a comment |
Dependency Tools
| Tool | Description |
add_dependency | Create a blocking relationship |
remove_dependency | Remove a dependency |
get_blocked_by | List what blocks an issue |
get_blocks | List what an issue blocks |
Search Tools
| Tool | Description |
search_issues | Full-text search across issues |
Label Tools
| Tool | Description |
list_labels | List available labels (with category filter) |
list_label_categories | List distinct categories |
create_label | Create a new label |
get_issue_labels | Get labels on an issue |
Project Tools
| Tool | Description |
list_projects | List accessible projects |
get_project | Get project details |
Dashboard Tools
| Tool | Description |
get_dashboard | Get project statistics and metrics |
Event Tools
| Tool | Description |
list_events | List recent activity events |
Workflow Tools
| Tool | Description |
list_molecules | List workflow molecules |
get_molecule | Get molecule detail with waves |
create_molecule | Create a new molecule |
Bulk Operation Tools
| Tool | Description |
bulk_close_issues | Close multiple issues |
bulk_reopen_issues | Reopen multiple issues |
bulk_set_status | Set status on multiple issues |
bulk_assign_issues | Assign multiple issues |
bulk_set_priority | Set priority on multiple issues |
bulk_set_labels | Set labels on multiple issues |
bulk_delete_issues | Delete multiple issues |
Duplicate Tools
| Tool | Description |
scan_duplicates | Scan for potential duplicate issues |
mark_duplicate | Mark an issue as a duplicate |
Automation Rule Tools
| Tool | Description |
list_automation_rules | List configured automation rules |
create_automation_rule | Create a new automation rule |
Issue Template Tools
| Tool | Description |
list_issue_templates | List available templates |
get_issue_template | Get template details |
create_issue_template | Create a new template |
instantiate_issue_template | Create an issue from a template with variable substitution |
delete_issue_template | Delete a template |
Gate Tools
| Tool | Description |
list_gates | List quality gates for the project |
create_gate | Create a new quality gate |
check_gate | Check if an issue passes a gate |
GitHub Sync Tools
| Tool | Description |
configure_github_sync | Set up GitHub sync for the current project |
trigger_github_sync | Trigger a manual sync with GitHub |
get_github_sync_status | Check sync status and linked issue count |
Compaction Tools
| Tool | Description |
analyze_compaction | Find compaction candidates by tier |
compact_issues | Compact specific closed issues |
restore_compacted_issue | Restore original description |
Import / Export Tools
| Tool | Description |
import_csv | Import issues from CSV content (auto-detects GitHub/Linear format) |
detect_csv_format | Detect CSV format from headers |
Custom Status Tools
| Tool | Description |
list_custom_statuses | List custom statuses |
create_custom_status | Create a new custom status |
External Reference Tools
| Tool | Description |
list_external_references | List external refs on an issue |
add_external_reference | Add a URL/PR/commit reference |
remove_external_reference | Remove a reference |
Example: Claude Code Integration
To use Gnoll as an MCP server with Claude Code, add it to your MCP configuration:
{
"mcpServers": {
"gnoll": {
"url": "https://your-instance.com/mcp",
"headers": {
"Authorization": "Bearer gkey_your_key_here",
"Cookie": "ProjectId=your_project_id"
}
}
}
}
Once connected, the AI agent can use natural language to interact with your issues:
- "List all open bugs with priority 3 or higher"
- "Create a task to fix the login redirect issue"
- "Close issue abc123 with a comment saying it's fixed in PR #42"
- "What issues are blocked right now?"
- "Add a dependency: the deploy task depends on the testing task"