Skip to main content
Glama

Backlog MCP Server

activeContext.md6.37 kB
# Active Context ## Current Work Focus Currently, the Backlog MCP Server implements tools corresponding to the following feature categories: 1. **Space-related Tools** - Retrieving space information - Retrieving user lists - Retrieving information about oneself - Retrieving priority lists - Retrieving resolution lists - Retrieving issue type lists 2. **Project-related Tools** - Retrieving project lists - Creating projects - Retrieving project information - Updating projects - Deleting projects 3. **Issue-related Tools** - Retrieving issue information - Retrieving issue lists - Retrieving issue counts - Creating issues - Updating issues - Deleting issues 4. **Comment-related Tools** - Retrieving issue comment lists - Adding issue comments 5. **Wiki-related Tools** - Retrieving Wiki page lists - Retrieving Wiki page counts - Retrieving Wiki information - Creating Wiki pages 6. **Category-related Tools** - Retrieving category lists 7. **Notification-related Tools** - Retrieving notification lists - Retrieving notification counts - Resetting unread notification counts - Marking notifications as read 8. **Git Repository-related Tools** - Retrieving Git repository lists - Retrieving Git repository information 9. **Pull Request-related Tools** - Retrieving pull request lists - Retrieving pull request counts - Retrieving pull request information - Creating pull requests - Updating pull requests - Retrieving pull request comment lists - Adding pull request comments - Updating pull request comments 10. **Watch-related Tools** - Retrieving watched item lists - Retrieving watch counts ## Recent Changes 1. **Token Limiting Implementation** - Added token limiting functionality to prevent large responses from exceeding token limits - Implemented streaming for large responses with automatic truncation - Added configurable maximum token limit via environment variables or CLI arguments 2. **Field Picking Optimization** - Added GraphQL-style field selection to allow clients to request only specific fields - Implemented field picking transformer to optimize response size - Added field description generation for better documentation 3. **Error Handling Improvements** - Enhanced Backlog API error parsing and handling - Added more descriptive error messages for different error types - Implemented unified error handling system 4. **Documentation Updates** - Updated README with new features and usage examples - Added Japanese translation of documentation - Improved installation and configuration instructions 5. **Build and Infrastructure** - Updated Docker configuration to use Node.js 22 - Improved multi-stage Docker build for smaller image size - Updated dependencies to latest versions ## Active Decisions and Considerations 1. **Response Optimization** - Implementing GraphQL-style field selection to reduce response size - Adding token limiting to prevent large responses from causing issues - Balancing between comprehensive data and performance 2. **API Endpoint Coverage** - Prioritizing implementation of API endpoints listed in URLlist.md - Gradually adding unimplemented endpoints - Focusing on most commonly used endpoints first 3. **Test Strategy** - Creating unit tests corresponding to each tool - Using mocks to isolate Backlog API dependencies - Focusing on validating input parameters and output format - Testing error handling and edge cases 4. **Multi-language Support** - Using English as the default language, with support for other languages like Japanese - Providing customization possibilities through translation files - Supporting translation overrides through environment variables - Maintaining consistent translation keys across the system 5. **Deployment Options** - Prioritizing easy deployment via Docker - Also supporting direct Node.js execution - Customization through mounted configuration files - Supporting environment variable configuration for flexibility ## Important Patterns and Design Principles 1. **Tool Implementation Consistency** - Each tool has the same structure (name, description, schema, handler) - Input validation using Zod schemas - Unified response format - Consistent error handling 2. **Handler Composition Pattern** - Using function composition for tool handlers - Applying transformers in a specific order (error handling → field picking → token limiting → result formatting) - Separation of concerns through transformer functions 3. **Translation System** - Key-based translation system - Priority: environment variables → configuration file → default value - Tracking of all translation keys used - Support for multiple languages through configuration 4. **Error Handling** - Appropriate handling of API errors and meaningful error messages - Clear reporting of input validation errors - Categorization of errors (authentication, API, unexpected, unknown) - Consistent error response format 5. **Testability** - Ease of testing through dependency injection - Isolation of external dependencies using mocks - Unit tests for each component and transformer ## Learnings and Project Insights 1. **MCP Integration Best Practices** - Importance of tool naming conventions and parameters - Improved usability through appropriate descriptions - Importance of schema validation - Balancing between comprehensive data and token limits 2. **Response Optimization Techniques** - GraphQL-style field selection for targeted data retrieval - Token counting and limiting for large responses - Streaming large responses in chunks - Balancing between data completeness and performance 3. **Backlog API-specific Considerations** - Flexibility to support both IDs and keys - Permission requirements for some API endpoints - Handling differences in response formats - Error handling for various API response scenarios 4. **Multi-language Support Challenges** - Management and consistency of translation keys - Importance of default values - Maintainability of translation files - Balancing between translation flexibility and complexity

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nulab/backlog-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server