Skip to main content

An MCP server for Freshrelease - enables Cursor AI to interact with Freshrelease projects

Project description

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"

๐Ÿ“Š 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freshrelease_mcp-1.11.7.tar.gz (106.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freshrelease_mcp-1.11.7-py3-none-any.whl (43.7 kB view details)

Uploaded Python 3

File details

Details for the file freshrelease_mcp-1.11.7.tar.gz.

File metadata

  • Download URL: freshrelease_mcp-1.11.7.tar.gz
  • Upload date:
  • Size: 106.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for freshrelease_mcp-1.11.7.tar.gz
Algorithm Hash digest
SHA256 54f2f411759cbe019dc631caad85956f903f0bbb3a67ec4ca318d4a5a33628d1
MD5 7e5cea20a3bd9592aa288d90b6386a09
BLAKE2b-256 2cb54d9258b0c4c30c5aa5d6c57251de95a033f7c3d520e11660d381aada5839

See more details on using hashes here.

File details

Details for the file freshrelease_mcp-1.11.7-py3-none-any.whl.

File metadata

File hashes

Hashes for freshrelease_mcp-1.11.7-py3-none-any.whl
Algorithm Hash digest
SHA256 db9a95c46901c69ec581153500883ba91544b64ee96460a7841417f6c813c55f
MD5 6cb510bd29a4fb453f96c33b87d688fa
BLAKE2b-256 ddfd51358514398f11625da6d0b647d62f5c682e58b23f20752156fded1028e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page