Skip to main content
Glama
README.md
# MCP-GET

A flexible [Model Context Protocol](https://modelcontextprotocol.io/) server for accessing multiple task management and productivity services. MCP-GET provides a unified interface for AI assistants to interact with popular workplace tools through a consistent, extensible architecture.

## About the Model Context Protocol

The [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) is an open standard that enables AI assistants to securely connect to external data sources and tools. Developed by [Anthropic](https://anthropic.com/), MCP provides a standardized way for AI systems to access real-time information and perform actions across different services.

**Key Resources:**
- [MCP Official Documentation](https://modelcontextprotocol.io/)
- [Anthropic MCP Guide](https://docs.anthropic.com/en/docs/build-with-claude/computer-use)
- [MCP Specification](https://spec.modelcontextprotocol.io/)
- [MCP SDK Documentation](https://github.com/modelcontextprotocol/sdk)

## Setup

1. Install dependencies:
   ```bash
   npm install
   ```

2. Configure your services in the `.env` file:
   ```bash
   # Linear (currently supported)
   # Get your API key: https://linear.app/settings/api
   LINEAR_API_KEY=your_linear_api_key_here
   LINEAR_ENABLED=true
   
   # Notion
   # Create integration: https://developers.notion.com/docs/create-a-notion-integration
   NOTION_API_KEY=your_notion_integration_token
   NOTION_ENABLED=true
   
   # Slack
   # Create app: https://api.slack.com/apps
   SLACK_BOT_TOKEN=xoxb-your-slack-bot-token
   SLACK_ENABLED=true
   
   # GitHub
   # Generate token: https://github.com/settings/tokens
   GITHUB_API_KEY=your_github_personal_access_token
   GITHUB_ENABLED=true
   
   # Plaid
   # Get credentials: https://dashboard.plaid.com/developers/keys
   PLAID_CLIENT_ID=your_plaid_client_id
   PLAID_SECRET=your_plaid_secret_key
   PLAID_ENV=sandbox  # or development, production
   PLAID_ENABLED=true
   ```

3. Run the server:
   ```bash
   npm start
   ```

## Available Tools

### Linear Service
- `linear_get_my_issues`: Get recent issues assigned to you from Linear
- `linear_get_issue_details`: Get detailed information about a specific Linear issue
- `linear_search_issues`: Search for Linear issues by title or description

### Notion Service (Planned)
- `notion_get_my_pages`: Get recent pages you have access to
- `notion_get_page_details`: Get detailed information about a specific page
- `notion_search_pages`: Search for pages by title or content

### Slack Service (Planned)
- `slack_get_my_messages`: Get recent messages from your conversations
- `slack_get_thread_details`: Get detailed information about a specific thread
- `slack_search_messages`: Search for messages by content or user

### GitHub Service (Planned)
- `github_get_my_issues`: Get recent issues assigned to you
- `github_get_issue_details`: Get detailed information about a specific issue
- `github_search_issues`: Search for issues by title or description

### Plaid Service (Planned)
- `plaid_get_accounts`: Get linked bank accounts and balances
- `plaid_get_transactions`: Get recent transactions across accounts
- `plaid_search_transactions`: Search transactions by merchant, amount, or description

## Architecture

MCP-GET uses a service-based architecture that makes it easy to add new productivity services:

```
mcp-get/
├── index.js              # Main MCP server
├── config.js             # Service configuration
└── services/
    ├── base.js           # Base service class
    ├── linear.js         # Linear service implementation
    ├── index.js          # Service registry
    └── [future services] # Jira, GitHub, etc.
```

Each service implements the same interface:
- `getMyIssues(limit)`: Get user's assigned items
- `getIssueDetails(id)`: Get detailed item information
- `searchIssues(query, limit)`: Search items by text

## Integration with AI Assistants

MCP-GET integrates seamlessly with AI assistants that support the Model Context Protocol:

### Claude Code
[Claude Code](https://claude.ai/code) is Anthropic's official CLI tool that supports MCP servers. Add MCP-GET to your Claude Code configuration to access multiple productivity services directly in your conversations.

**Claude Code Resources:**
- [Claude Code Documentation](https://docs.anthropic.com/en/docs/claude-code)
- [Claude Code Installation Guide](https://docs.anthropic.com/en/docs/claude-code/quickstart)
- [Claude Code MCP Integration](https://docs.anthropic.com/en/docs/claude-code/mcp)

### Configuration Example
```json
{
  "mcpServers": {
    "mcp-get": {
      "command": "node",
      "args": ["path/to/mcp-get/index.js"],
      "env": {
        "LINEAR_API_KEY": "your_linear_api_key",
        "GITHUB_API_KEY": "your_github_token",
        "NOTION_API_KEY": "your_notion_integration_token",
        "SLACK_BOT_TOKEN": "your_slack_bot_token",
        "PLAID_CLIENT_ID": "your_plaid_client_id",
        "PLAID_SECRET": "your_plaid_secret"
      }
    }
  }
}
```

### Other Compatible AI Assistants
- [Cline](https://github.com/cline/cline) - VS Code extension with MCP support
- [Continue](https://continue.dev/) - AI coding assistant with MCP integration
- Custom implementations using the [MCP SDK](https://github.com/modelcontextprotocol/sdk)

### Benefits
- **Unified Interface**: Consistent command patterns across all services
- **Contextual Awareness**: AI assistants can cross-reference data between services
- **Productivity Enhancement**: Streamlined workflows without switching between tools
- **Extensible Architecture**: Easy to add new services as your workflow evolves

## Adding New Services

1. Create a new service file in `services/` (e.g., `jira.js`)
2. Extend the `BaseService` class
3. Implement the required methods
4. Add the service to the registry in `services/index.js`
5. Add configuration in `config.js`

See `services/linear.js` for a complete example.

**Development Resources:**
- [MCP Server Development Guide](https://modelcontextprotocol.io/docs/concepts/servers)
- [Service Integration Examples](https://github.com/modelcontextprotocol/servers)
- [MCP SDK TypeScript Documentation](https://github.com/modelcontextprotocol/sdk)

## Supported Services

**Currently Available:**
- **Linear**: Full support for issues, assignments, and search functionality

**Planned Integration:**
- **Notion**: Database queries, page management, and content search
- **Slack**: Message retrieval, thread navigation, and workspace search
- **GitHub**: Issues, pull requests, and repository management
- **Plaid**: Banking data access, transaction history, and account management

## Development Roadmap

MCP-GET is designed to become the definitive MCP server for workplace productivity tools. Our development roadmap includes:

### Phase 1: Core Services (Current)
- Linear integration (Complete)
- GitHub Issues and Pull Requests
- Plaid financial data access

### Phase 2: Communication Platforms
- Slack workspace integration
- Microsoft Teams connectivity
- Discord server management

### Phase 3: Knowledge Management
- Notion database and page access
- Confluence space management
- Obsidian vault integration

### Phase 4: Financial & Analytics
- Enhanced Plaid transaction analysis
- Banking workflow automation
- Financial reporting and insights

## Contributing

We welcome contributions to expand service support and improve functionality. To add support for a new service:

1. **Create a service class** extending `BaseService` in the `services/` directory
2. **Implement required methods** following the established interface pattern
3. **Add configuration options** to `config.js` with appropriate environment variables
4. **Update the service registry** in `services/index.js`
5. **Add comprehensive tests** and update documentation

### Code Quality Standards
- Follow existing architectural patterns
- Implement proper error handling and logging
- Maintain consistent API response formats
- Include comprehensive JSDoc documentation

## API Documentation

### Service API References
- [Linear API Documentation](https://developers.linear.app/docs/graphql/working-with-the-graphql-api)
- [Notion API Documentation](https://developers.notion.com/reference/intro)
- [Slack Web API Documentation](https://api.slack.com/web)
- [GitHub REST API Documentation](https://docs.github.com/en/rest)
- [Plaid API Documentation](https://plaid.com/docs/api/)

### MCP Development Resources
- [MCP Server Development Guide](https://modelcontextprotocol.io/docs/concepts/servers)
- [MCP SDK Reference](https://github.com/modelcontextprotocol/sdk)
- [MCP Community Examples](https://github.com/modelcontextprotocol/servers)
- [Anthropic MCP Best Practices](https://docs.anthropic.com/en/docs/build-with-claude/computer-use)

## Support and Community

- **Issues**: Report bugs and request features on [GitHub Issues](https://github.com/kennethdsheridan/mcp-get/issues)
- **Discussions**: Join the conversation in [GitHub Discussions](https://github.com/kennethdsheridan/mcp-get/discussions)
- **MCP Community**: Connect with other developers in the [MCP Discord](https://discord.gg/modelcontextprotocol)
- **Anthropic Support**: Get help with Claude Code at [Anthropic Support](https://support.anthropic.com/)

## License

MIT License - see [LICENSE](LICENSE) for details.