Supports web automation tasks including searching DuckDuckGo, extracting links, and capturing screenshots via Playwright.
Supports web automation tasks including searching Google, extracting links, and capturing screenshots via Playwright.
Enables music integration using the iTunes API for searching tracks, playing previews, and retrieving artist and album information.
Provides comprehensive project analytics for Redmine, including real-time bug tracking, sprint status calculation, team performance analysis, and backlog management.
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., "@Redmine Analytics and Automation MCP ServerWhat is the current sprint completion status and open bug count for project NCEL?"
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.
MCP - Model Context Protocol Server with Redmine Analytics
A comprehensive Python-based MCP server with advanced Redmine project analytics, music playback, and web automation capabilities.
π Features
π― Redmine Analytics (V2)
Sprint/Iteration Status: Track committed issues, completion rates, burndown status
Backlog Management: Monitor backlog size, high-priority items, monthly activity
Quality Metrics: Bug tracking, severity analysis, bug-to-story ratios
Team Performance: Workload distribution, cycle time, lead time analysis
Trends & Predictability: Throughput analysis, velocity tracking
π΅ Music Integration
iTunes API integration for music search and playback
30-second preview support
Artist and album information
π Web Automation
Playwright-based web browsing
Screenshot capture
Link extraction
Google and DuckDuckGo search
π Key Achievements
Accurate Bug Counting
β Fixed bug count accuracy (310 open bugs in NCEL project)
β Direct API queries using Redmine's
total_countfieldβ No pagination issues or cache staleness
β Supports both project names ("ncel") and IDs (6)
Sprint Analytics
β Proper sprint calculation using Redmine Versions
β Counts all issues (bugs, features, stories) not just stories
β Real-time completion tracking
β Burndown status monitoring
Token Optimization
β JSPLIT architecture for hierarchical tool selection
β 70-85% token reduction through category-based filtering
β Reduced system prompts from ~600 to ~50 tokens
β Strict tool call limits (max 1 iteration, 1 tool per request)
ποΈ Architecture
π οΈ Setup
Prerequisites
Python 3.12+
Node.js 18+
Redmine instance with API access
Installation
Clone the repository
Set up Python environment
Set up Frontend
Configure environment
Running the Application
Terminal 1 - Backend:
Terminal 2 - Frontend:
π Usage
Query Examples
Sprint Analytics
Bug Tracking
Team Performance
Trends
π§ Analytics Functions
Sprint/Iteration Status
sprint_committed_stories()- Total issues in sprintsprint_completion_status()- Completion metricstasks_in_progress()- In-progress countblocked_tasks()- Blocked issues count
Backlog & Scope
backlog_size()- Total backlog metricshigh_priority_open()- High-priority itemsmonthly_activity()- Created vs closed this month
Quality & Defects
bug_metrics()- Comprehensive bug statistics
Team Performance
team_workload()- Workload by member
Trends
throughput_analysis()- Weekly throughput metrics
π Documentation
π― Key Features
Direct API Queries
No caching issues
Always accurate, real-time data
Uses Redmine's
total_countfieldSingle API call with
limit=1for efficiency
Flexible Input
Accepts project names:
"ncel","NCEL"Accepts project IDs:
6Auto-converts using PROJECT_MAP
Comprehensive Metrics
Sprint status and burndown
Bug tracking and severity
Team workload and capacity
Throughput and velocity
Backlog health
π Security
.envfile excluded from gitAPI keys never committed
Sensitive data sanitized in logs
π€ Contributing
Fork the repository
Create a feature branch
Make your changes
Test thoroughly
Submit a pull request
π License
MIT License - See LICENSE file for details
π₯ Authors
Akash - Initial work and analytics implementation
π Acknowledgments
FastMCP framework
Redmine API
Groq LLM (llama-3.1-8b-instant)
React and Vite
π Project Stats
Total Tools: 24
Analytics Functions: 10
Token Reduction: 70-85%
Accuracy: 100% (verified with real data)
Response Time: < 3 seconds average
π Known Issues
Date range filters need specific format
Some Redmine instances may have different status/tracker IDs
Requires manual PROJECT_MAP updates for new projects
π Future Enhancements
Auto-detect current sprint by due date
Sprint velocity trend charts
Burndown chart visualization
Custom field support
Multi-project analytics
Export to CSV/Excel
Slack/Teams integration
Real-time notifications
π Support
For issues and questions:
GitHub Issues: https://github.com/a1official/mcp/issues
Documentation: See docs folder
Built with β€οΈ using Python, FastAPI, React, and FastMCP