We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sergiolopez94/motion-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
decisions.md•2.13 KiB
# Technical Decisions Log
## TypeScript vs JavaScript
**Decision**: Stay with JavaScript (for now)
**Date**: Current
**Rationale**:
- Project currently implemented in pure JavaScript
- MCP protocol works well with JavaScript
- TypeScript migration is in task backlog for future consideration
- Allows faster initial development without type overhead
**Status**: Active
## Tool Consolidation Strategy
**Decision**: Hybrid approach - consolidate CRUD operations, keep specialized tools separate
**Date**: Current
**Rationale**:
- MCP clients limit tools to ~100 total
- Consolidating reduces from 18+ tools to ~8-10
- Related operations (CRUD) in single tool makes sense
- Specialized tools (search, analytics) remain separate for clarity
**Status**: Planned (Task 1.1)
## API Version Targeting
**Decision**: Target Motion API v1
**Date**: Current
**Rationale**:
- Current stable version
- Documentation available at api.usemotion.com
- No v2 announced yet
**Status**: Active
## Testing Approach
**Decision**: Manual testing with MCP clients
**Date**: Current
**Rationale**:
- No test framework currently in place
- MCP protocol requires special testing setup
- Manual testing via Claude desktop app is most practical
- Future: Consider MCP inspector tool
**Status**: Active
## Error Handling Strategy
**Decision**: Comprehensive error handling with retry logic
**Date**: Current
**Rationale**:
- Motion API may have transient failures
- Rate limiting needs handling (429 responses)
- Better user experience with automatic retries
- Exponential backoff prevents overwhelming API
**Status**: Planned (Task 4.1)
## Caching Strategy
**Decision**: Simple in-memory cache with TTL
**Date**: Current
**Rationale**:
- Reduces API calls for rarely-changing data
- Workspaces and users change infrequently
- 5-10 minute TTL balances freshness vs performance
- No persistence needed for MCP server
**Status**: Planned (Task 4.3)
## Workspace Handling
**Decision**: Default workspace with name resolution
**Date**: Current
**Rationale**:
- Most users have single workspace
- Name resolution more user-friendly than IDs
- Fallback to default workspace reduces friction
**Status**: Implemented