Freshrelease MCP Server
The Freshrelease MCP Server enables AI models to interact with Freshrelease for comprehensive project, task, and test case management through its API.
Project and Task Management: Create, retrieve, and list projects and tasks with support for descriptions, assignees, due dates, and issue types using tools like
fr_create_project,fr_get_project,fr_create_task,fr_get_task, andfr_get_all_tasks.Smart Name Resolution: Automatically convert human-readable names (user emails, issue types, statuses, sprints, releases, project keys) to their corresponding Freshrelease IDs, with custom field detection and prefixing.
Test Case Management: List, retrieve, filter, and link test cases to issues with hierarchical section support and bulk operations using
fr_list_testcases,fr_get_testcase, andfr_link_testcase_issues.Advanced Filtering: Filter tasks and test cases using various criteria including standard and custom fields, with automatic name-to-ID resolution via
fr_filter_tasksandfr_filter_testcases.User and Entity Lookups: Search for users by name or email, resolve issue types, and retrieve IDs for sprints, releases, tags, and subprojects within projects.
Filter Persistence: Save and reuse custom filters using
fr_save_filterwith query hashes from filtering operations.Cache Management: Clear internal caches for custom fields, lookup data, name-to-ID resolution, and test case forms to refresh data without server restart.
Performance Monitoring: Track and reset performance statistics for monitored functions with
fr_get_performance_statsandfr_clear_performance_stats.HTTP Client Management: Properly close HTTP connections with
fr_close_http_clientfor cleanup.
Mentioned as the distribution platform where the MCP server package can be fetched and run using uvx
Click on "Deploy 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., "@Freshrelease MCP Server show me all open tasks in the FS project"
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.
Freshrelease MCP Server
An MCP server that enables AI models to interact with Freshrelease through powerful tools for complete project and test management.
๐ Key Features
๐ค AI-Native: Built specifically for AI model integration via MCP protocol
๐ง Complete Management: Projects, tasks, test cases, test runs, and user management
๐ง Smart Resolution: Automatically converts names to IDs (users, sprints, projects, etc.)
๐ Native Filtering: Full support for Freshrelease's native query_hash format
๐ฒ Hierarchical Navigation: Navigate through 7-level deep section hierarchies
โก Performance Optimized: Built-in caching, connection pooling, and batch processing
๐ฏ Label-Based Filtering: Use intuitive field names like "Owner" instead of "owner_id"
Related MCP server: Freshservice MCP Server
๐ Tools Overview
Category | Key Features |
Core Management | Projects, tasks, users, and issue types |
Test Management | Test cases, test runs, and execution tracking |
Smart Filtering | Advanced task and test case filtering |
Lookup & Utilities | Name-to-ID resolution and cache management |
๐ ๏ธ Available Tools
Core Management
Tool | Purpose | Key Parameters |
| Get project details |
|
| Get task by ID/key |
|
| List all project tasks |
|
| Get comprehensive AI insights for epics with detailed task analysis |
|
| Resolve issue type names |
|
| Get form fields for issue types |
|
| Find users by name/email |
|
Test Management
Tool | Purpose | Key Parameters |
| List all test cases |
|
| Get specific test case |
|
| Get tests by section |
|
| Link tests to issues |
|
| Advanced test filtering with AI insights |
|
| Add tests to run |
|
| Get comprehensive test run summary with AI quality analysis |
|
Smart Filtering
Tool | Purpose | Key Parameters |
| Advanced task filtering with native query_hash |
|
| Get issue form schema |
|
| Get test form schema | - |
| Get all form schemas | - |
Lookup & Utilities
Tool | Purpose | Key Parameters |
| Find sprint by name |
|
| Find release by name |
|
| Find tag by name |
|
| Get active sub-project sprint |
|
| Resolve sub-project names |
|
| Clear filter cache | - |
| Clear all caches | - |
โจ Smart Features
๐ง Name-to-ID Resolution: Converts user names, sprint names, issue types, etc. to IDs automatically
๐ Native Query Format: Full support for Freshrelease's
query_hashformat with all operators๐ฒ Hierarchical Sections: Navigate up to 7 levels deep section hierarchies (e.g.,
"Level1 > Level2 > Level3")๐ API Compatibility: Handles both nested
{"users": [...]}and direct array response formatsโก Performance Optimized: Multi-level caching, connection pooling, optimized batch processing
๐ Flexible Project IDs: Accept both project keys (
"FS") and numeric IDs (123)๐ฏ Custom Field Support: Auto-detects and handles custom fields with "cf_" prefixing
๐ Multiple Query Formats: Native query_hash, comma-separated strings, or JSON objects
๐ Quick Start
1. Install
# Easy install (no Python needed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Or with Python: uv tool install freshrelease-mcp2. Get Credentials
API Key: Freshrelease โ Profile โ API Key
Domain:
company.freshrelease.com(your domain)Project Key: e.g.,
"FS","PROJ"(optional)
3. Configure Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"freshrelease-mcp": {
"command": "uvx",
"args": ["freshrelease-mcp"],
"env": {
"FRESHRELEASE_API_KEY": "your_api_key",
"FRESHRELEASE_DOMAIN": "company.freshrelease.com",
"FRESHRELEASE_PROJECT_KEY": "FS"
}
}
}
}4. Restart Cursor
โ You'll see Freshrelease tools available!
๐ก Usage Examples
๐ฏ Task Management
Get project overview:
"Show me all tasks in the FS project"
Get specific task details:
"Get details for task FS-123"
Get comprehensive epic insights with AI analysis:
"Show me detailed insights for epic FS-223786 including git status and risk assessment"
The AI will automatically:
Fetch the epic details and all child tasks with full information
Analyze git/PR development status from task descriptions
Provide AI-powered insights on completion rates, team distribution, and timeline risks
Provide status breakdown and progress summary
Show assignee distribution and priority breakdown
๐ Advanced Task Filtering
Use natural language filtering:
"Find all high priority tasks owned by John Doe that are currently in progress"
The AI understands both:
Friendly labels: "Owner", "Status", "Priority"
Technical names: "owner_id", "status_id", "priority_id"
Native Freshrelease filtering with existing filters:
"Filter tasks using saved filter ID 102776 with custom fields and date ranges"
Sprint and date-based filtering:
"Show me all bugs in Sprint 1 created between Dec 2024 and Aug 2025"
๐งช Test Case Management
Filter test cases naturally:
"Find all high and medium severity functional tests in the Authentication section"
Navigate hierarchical sections:
"Get all test cases from Authentication > Login Tests > Positive Cases section"
The AI can navigate up to 7 levels deep in section hierarchies automatically.
Get concise test run summary with AI insights:
"How is test run 150183 performing?"
Response example: "23/25 tests executed (92% complete). 21 passed, 2 failed. Quality score: Good. Fix 2 failing test cases."
๐ ๏ธ Development Tools
Code Quality Assurance
This project includes comprehensive tools to maintain code quality and prevent common issues:
๐ Code Quality Guide (CODE_QUALITY_GUIDE.md)
Complete indentation standards and best practices
Project-specific code patterns and templates
Common mistakes to avoid with examples
Performance optimization guidelines
Pre-commit checklist for developers
๐ Automated Quality Checker (quality_check.py)
Run quality checks on any Python file:
python3 quality_check.py src/freshrelease_mcp/server.pyFeatures:
โ Indentation validation (4-space standard)
โ MCP tool structure verification
โ Function docstring checks
โ Async/await pattern validation
โ Error handling analysis
Example output:
โ
No issues found in src/freshrelease_mcp/server.py๐ Latest Updates
v1.9.7 - Optimized AI Insights & Code Quality
โ Optimized Test Run AI: Simplified
fr_get_testrun_summarywith concise insights, quality scores, and focused recommendationsโ Epic AI Insights: Renamed and enhanced
fr_get_epic_insightswith comprehensive AI analysis including git/PR status, risk assessment, and detailed task analysisโ Test Case AI Summary: Renamed
fr_filter_testcasestofr_testcase_filter_summarywith intelligent insights and automation analysisโ Code Quality Tools: Added comprehensive code quality guide (
CODE_QUALITY_GUIDE.md) and automated quality checker (quality_check.py)โ Enhanced Field Mapping: Fixed filtering issues with improved field label resolution
โ Better Error Handling: Comprehensive logging and error messages for debugging
โ Issue Key Resolution: Support for parent_id and epic_id filtering using issue keys
v1.8.4 - Filter Bug Fixes
โ Fixed Fields Mapping Error: Resolved "Failed to get project fields mapping: 0" error
โ API Response Handling: Better handling of nested vs. direct array responses
โ Common Field Mappings: Added support for "Parent", "Epic", "Owner" field labels
๐ง Troubleshooting
Not seeing tools in Cursor?
Check
~/.cursor/mcp.jsonis valid JSONRestart Cursor completely
Verify credentials:
uvx freshrelease-mcp --help
Environment Variables:
FRESHRELEASE_API_KEY="your_api_key" # Required
FRESHRELEASE_DOMAIN="company.freshrelease.com" # Required
FRESHRELEASE_PROJECT_KEY="FS" # Optional default project๐ License
MIT License - see LICENSE file for details.
โญ Like this project? Give it a star on GitHub!
๐ Found a bug? Open an issue
๐ก Have ideas? Start a discussion
Available Tools
8 toolsfr_create_projectC
Create a project in Freshrelease.
Inputs: name (required), description. Returns: result
fr_create_taskA
Create a task under a Freshrelease project.
- due_date: ISO 8601 date string (e.g., 2025-12-31) if supported by your account
- issue_type_name: case-insensitive issue type key (e.g., "epic", "task").
Resolved to an `issue_type_id` via `/project_issue_types` and added to payload.
- user: optional name or email. If provided and `assignee_id` is not,
resolves to a user id via `/{project_identifier}/users?q=...` and sets `assignee_id`.
- additional_fields: arbitrary key/value pairs to include in the request body
(unknown keys will be passed through to the API). Core fields
(title, description, assignee_id, status, due_date, issue_type_id) cannot be overridden.
Inputs: project_identifier (required), title (required), additional_fields, assignee_id, +5 more. Returns: result
fr_get_all_tasksC
Get a task from Freshrelease by ID.
Inputs: project_identifier (required). Returns: result
fr_get_issue_type_by_nameB
Fetch the issue type object for a given human name within a project.
This function lists issue types under the specified project and returns the first match by case-insensitive name comparison.
Inputs: issue_type_name (required), project_identifier (required). Returns: result
fr_get_projectA
Get a project from Freshrelease by ID or key.
- project_identifier: numeric ID (e.g., 123) or key (e.g., "ENG")
Inputs: project_identifier (required). Returns: result
fr_get_taskC
Get a task from Freshrelease by ID.
Inputs: key (required), project_identifier (required). Returns: result
fr_link_testcase_issuesB
Bulk update multiple test cases with issue links by keys.
- Resolves `testcase_keys[]` via `GET /{project_identifier}/test_cases/{key}` to ids
- Resolves `issue_keys[]` via `GET /{project_identifier}/issues/{key}` to ids
- Performs: PUT `/{project_identifier}/test_cases/update_many` with body
{ "ids": [...], "test_case": { "issue_ids": [...] } }
Inputs: issue_keys (required), project_identifier (required), testcase_keys (required). Returns: result
fr_search_usersB
Search users in a project by name or email.
Calls `/{project_identifier}/users?q=search_text` and returns the JSON response.
Inputs: project_identifier (required), search_text (required). Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 8 tools
The tools have clear distinctions for core operations like create_project, create_task, get_project, get_task, and search_users, but there is notable overlap between fr_get_all_tasks and fr_get_task, where the former's name suggests retrieving multiple tasks but its description indicates fetching a single task by ID, causing potential confusion. Additionally, fr_link_testcase_issues stands out as a specialized bulk operation that might not be immediately distinguishable from other task-related tools without careful reading.
All tools follow a consistent naming pattern with the prefix 'fr_' followed by a verb_noun structure (e.g., fr_create_project, fr_get_task, fr_search_users). This uniformity makes the tool set predictable and easy to navigate, with no deviations in style or convention across the eight tools.
With 8 tools, the count is reasonable for a project and task management server, covering essential operations like creation, retrieval, and search. However, the scope feels slightly thin as it lacks update or delete operations for projects and tasks, which are common in such domains, making it borderline but still functional for basic workflows.
The tool set has significant gaps for a project and task management domain. It includes create and get operations for projects and tasks, but missing update and delete tools limits lifecycle coverage. While there are auxiliary tools for issue types, users, and test case linking, the absence of core CRUD operations for managing existing resources will likely cause agent failures in handling modifications or removals.
Maintenance
Related MCP Connectors
Manage Orangescrum projects, tasks, users, sprints, test cases, releases, and risks from AI tools.
Manage Loom projects, tasks, bugs, defects, clients and phases from AI assistants
Manage Redbooth tasks, task lists, comments, tags and files from Claude and other AI assistants.
Create and manage test cases, test runs and results in Testiny from your AI assistant.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to interact with Zoho Projects for managing projects, tasks, issues, milestones, users, and performing searches. Supports comprehensive project management operations through natural language with automatic OAuth token handling.209MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI models to interact with Freshservice IT service management platform, allowing automated ticket management, change requests, asset tracking, and solution article operations through natural language commands.MIT
- AlicenseBqualityCmaintenanceEnables AI assistants to manage OpenProject work packages, projects, and time tracking. It provides comprehensive tools for creating, updating, and querying tasks and project metadata through the OpenProject API.1159 npm1MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to connect with Freshservice ITSM for managing tickets, assets, agents, and organizational data through natural language. It provides a comprehensive set of tools for performing CRUD operations on service desk records and searching across the Freshservice platform.53293 npm1MIT