Skip to main content
Glama
Freshrelease MCP Server

Freshrelease MCP Server

by dasscoax

Freshrelease MCP Server

PyPI version Python 3.10+

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

fr_get_project

Get project details

project_identifier

fr_get_task

Get task by ID/key

project_identifier, key

fr_get_all_tasks

List all project tasks

project_identifier

fr_get_epic_insights

Get comprehensive AI insights for epics with detailed task analysis

epic_key, fetch_detailed_tasks, max_tasks

fr_get_issue_type_by_name

Resolve issue type names

issue_type_name

get_task_default_and_custom_fields

Get form fields for issue types

issue_type_name

fr_search_users

Find users by name/email

search_text

Test Management

Tool

Purpose

Key Parameters

fr_list_testcases

List all test cases

project_identifier

fr_get_testcase

Get specific test case

test_case_key

fr_get_testcases_by_section

Get tests by section

section_name

fr_link_testcase_issues

Link tests to issues

testcase_keys, issue_keys

fr_testcase_filter_summary

Advanced test filtering with AI insights

filter_rules

fr_add_testcases_to_testrun

Add tests to run

test_run_id, test_case_keys

fr_get_testrun_summary

Get comprehensive test run summary with AI quality analysis

test_run_id

Smart Filtering

Tool

Purpose

Key Parameters

fr_filter_tasks

Advanced task filtering with native query_hash

query_hash, filter_id, include, pagination

fr_get_issue_form_fields

Get issue form schema

issue_type_id

fr_get_testcase_form_fields

Get test form schema

-

fr_get_all_issue_type_form_fields

Get all form schemas

-

Lookup & Utilities

Tool

Purpose

Key Parameters

fr_get_sprint_by_name

Find sprint by name

sprint_name

fr_get_release_by_name

Find release by name

release_name

fr_get_tag_by_name

Find tag by name

tag_name

fr_get_current_subproject_sprint

Get active sub-project sprint

sub_project_name

get_subproject_id_by_name

Resolve sub-project names

sub_project_name

fr_clear_filter_cache

Clear filter cache

-

fr_clear_all_caches

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_hash format 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-mcp

2. 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.py

Features:

  • โœ… 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_summary with concise insights, quality scores, and focused recommendations

  • โœ… Epic AI Insights: Renamed and enhanced fr_get_epic_insights with comprehensive AI analysis including git/PR status, risk assessment, and detailed task analysis

  • โœ… Test Case AI Summary: Renamed fr_filter_testcases to fr_testcase_filter_summary with 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?

  1. Check ~/.cursor/mcp.json is valid JSON

  2. Restart Cursor completely

  3. 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 tools
fr_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_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

    C2.9/5.0

    Scored across 8 tools

    Disambiguation3/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness2/5

    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

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables 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.
      20
      9
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables 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
    • A
      license
      B
      quality
      C
      maintenance
      Enables 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.
      11
      59 npm
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables 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.
      53
      293 npm
      1
      MIT