From 799cca9fcd0a5b458fe82ce0b241d144f0df2a9f Mon Sep 17 00:00:00 2001 From: Matt Rubens Date: Sun, 6 Jul 2025 09:28:44 -0400 Subject: [PATCH] Add a few MCPs and a mode to manage them (#208) --- .gitignore | 3 + .roomodes | 49 ++++++- apps/web/src/data/marketplace/mcps.yml | 173 ++++++++++++++++++++++++- 3 files changed, 220 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index a8e6799fdf..6a114a447a 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ Thumbs.db # logs *.log + +# project mcp config +.roo/mcp.json \ No newline at end of file diff --git a/.roomodes b/.roomodes index df27e76ba3..de6633cbef 100644 --- a/.roomodes +++ b/.roomodes @@ -11,9 +11,9 @@ customModes: - Creating visually appealing and functional interfaces - Following modern design principles and accessibility standards whenToUse: >- - Use this mode when creating or modifying UI components, implementing design systems, - working on visual design improvements, ensuring responsive web interfaces, or focusing - on user experience enhancements. This mode is especially effective for CSS styling, + Use this mode when creating or modifying UI components, implementing design systems, + working on visual design improvements, ensuring responsive web interfaces, or focusing + on user experience enhancements. This mode is especially effective for CSS styling, component design, layout improvements, and frontend framework implementations. groups: - read @@ -31,4 +31,45 @@ customModes: - Performance optimization for frontend assets - Cross-browser compatibility - Design system consistency - Always consider the visual impact and user interaction flow when making changes. \ No newline at end of file + Always consider the visual impact and user interaction flow when making changes. + - slug: marketplace-curator + name: 🏪 Marketplace Curator + roleDefinition: >- + You are Roo, a marketplace content specialist focused on maintaining and curating lists of MCPs (Model Context Protocol servers) and custom modes for the Roo Code Cloud marketplace. Your expertise includes: + - Managing and organizing MCP server listings with accurate metadata, descriptions, and installation instructions + - Curating custom mode definitions with proper role definitions, usage guidelines, and tool group configurations + - Ensuring marketplace content follows consistent formatting, structure, and quality standards + - Validating MCP server configurations, prerequisites, and parameter specifications + - Maintaining accurate tags, categories, and search metadata for discoverability + - Writing clear, comprehensive descriptions that help users understand capabilities and use cases + - Organizing content in YAML format following established marketplace schemas + - Quality assurance for marketplace listings to ensure they work as documented + whenToUse: >- + Use this mode when adding new MCPs or custom modes to the marketplace, updating existing marketplace listings, + organizing marketplace content, validating MCP configurations, or maintaining the quality and consistency of + marketplace data. This mode is essential for marketplace content management, curation workflows, and ensuring + users can easily discover and use marketplace items. + groups: + - read + - - edit + - fileRegex: "apps/web/src/data/marketplace/(mcps|modes)\\.yml$" + description: "Marketplace MCP and mode data files" + - command + - mcp + customInstructions: >- + When working in Marketplace Curator mode, prioritize: + - Accuracy and completeness of MCP server configurations and installation instructions + - Consistent YAML formatting and structure across all marketplace files + - Clear, descriptive content that helps users understand what each item does + - Proper categorization using relevant tags and metadata + - Validation of prerequisites, parameters, and configuration examples + - Quality assurance to ensure listings work as documented + - Maintaining the established schema and format for marketplace items + - User-friendly descriptions that explain capabilities and use cases clearly + - Supply chain security through version and digest pinning: + * Docker images: Always pin to specific SHA256 digests (e.g., @sha256:abc123...) rather than using tags like :latest + * Python packages: Pin to specific versions with SHA256 hashes (e.g., package==1.0.0 --hash sha256:def456...) + * Use commands like 'docker pull' to get image digests and 'curl' to retrieve package hashes from PyPI + * Apply security pinning to all installation methods (Docker, UVX, pip, etc.) + Always verify that new additions follow the existing patterns, maintain high quality standards, and implement proper security practices for the marketplace. + - File organization: When adding new MCP servers or custom modes, always add them at the bottom of the items list to maintain chronological order and avoid disrupting existing entries. \ No newline at end of file diff --git a/apps/web/src/data/marketplace/mcps.yml b/apps/web/src/data/marketplace/mcps.yml index 1839ba7bb4..8d319e4d29 100644 --- a/apps/web/src/data/marketplace/mcps.yml +++ b/apps/web/src/data/marketplace/mcps.yml @@ -2255,4 +2255,175 @@ items: { "type": "sse", "url": "http://127.0.0.1:3845/sse" - } \ No newline at end of file + } + - id: 'azure-devops' + name: 'Azure DevOps' + description: 'Official Microsoft MCP server for Azure DevOps integration, bringing comprehensive Azure DevOps functionality directly to your AI agents. Supports work items, repositories, builds, releases, test plans, and search across your Azure DevOps organization with 50+ tools for complete DevOps automation.' + author: 'microsoft' + url: 'https://github.com/microsoft/azure-devops-mcp' + tags: + - 'azure-devops' + - 'microsoft' + - 'devops' + - 'work-items' + - 'repositories' + - 'builds' + - 'releases' + - 'test-plans' + - 'project-management' + - 'ci-cd' + - 'version-control' + - 'pull-requests' + - 'search' + - 'official' + prerequisites: + - 'Azure DevOps organization' + - 'Azure CLI authentication' + content: + - name: 'NPX' + prerequisites: + - 'Node.js' + - 'Azure CLI (logged in with az login)' + content: | + { + "command": "npx", + "args": ["-y", "@azure-devops/mcp@1.0.0", "--hash", "sha1:742d3aa74ec8a13283a62c77c9fc5c2a0d276624", "{{AZURE_DEVOPS_ORG}}"] + } + parameters: + - name: 'Azure DevOps Organization' + key: 'AZURE_DEVOPS_ORG' + placeholder: 'contoso' + - id: 'atlassian' + name: 'Atlassian' + description: 'Comprehensive MCP server for Atlassian tools (Confluence and Jira) supporting both Cloud and Server/Data Center deployments with multiple authentication methods including API tokens, Personal Access Tokens, and OAuth 2.0.' + author: 'sooperset' + url: 'https://github.com/sooperset/mcp-atlassian' + tags: + - 'atlassian' + - 'jira' + - 'confluence' + - 'project-management' + - 'issue-tracking' + - 'documentation' + - 'collaboration' + - 'oauth' + - 'api-integration' + prerequisites: + - 'Docker' + - 'Atlassian account (Cloud or Server/Data Center)' + content: + - name: 'Docker' + prerequisites: + - 'Docker' + - 'Atlassian Cloud account' + content: | + { + "command": "docker", + "args": ["run", "-i", "--rm", "-e", "CONFLUENCE_URL", "-e", "CONFLUENCE_USERNAME", "-e", "CONFLUENCE_API_TOKEN", "-e", "JIRA_URL", "-e", "JIRA_USERNAME", "-e", "JIRA_API_TOKEN", "ghcr.io/sooperset/mcp-atlassian@sha256:27c8e5b890e16134a443f49683eaa794fdb48ed5bef785c1b4c88a0cd729df56"], + "env": { + "CONFLUENCE_URL": "{{CONFLUENCE_URL}}", + "CONFLUENCE_USERNAME": "{{CONFLUENCE_USERNAME}}", + "CONFLUENCE_API_TOKEN": "{{CONFLUENCE_API_TOKEN}}", + "JIRA_URL": "{{JIRA_URL}}", + "JIRA_USERNAME": "{{JIRA_USERNAME}}", + "JIRA_API_TOKEN": "{{JIRA_API_TOKEN}}" + } + } + parameters: + - name: 'Confluence URL' + key: 'CONFLUENCE_URL' + placeholder: 'https://your-company.atlassian.net/wiki' + - name: 'Confluence Username' + key: 'CONFLUENCE_USERNAME' + placeholder: 'your.email@company.com' + - name: 'Confluence API Token' + key: 'CONFLUENCE_API_TOKEN' + placeholder: 'your_confluence_api_token' + - name: 'Jira URL' + key: 'JIRA_URL' + placeholder: 'https://your-company.atlassian.net' + - name: 'Jira Username' + key: 'JIRA_USERNAME' + placeholder: 'your.email@company.com' + - name: 'Jira API Token' + key: 'JIRA_API_TOKEN' + placeholder: 'your_jira_api_token' + - name: 'UVX' + prerequisites: + - 'Python and uv' + content: | + { + "command": "uvx", + "args": ["--from", "mcp-atlassian==0.11.9", "--hash", "sha256:1ba6a171b5299e554d4e0eff98279e74cdc4eb1c12c8e62be924103d9cd38e5e", "mcp-atlassian"], + "env": { + "CONFLUENCE_URL": "{{CONFLUENCE_URL}}", + "CONFLUENCE_USERNAME": "{{CONFLUENCE_USERNAME}}", + "CONFLUENCE_API_TOKEN": "{{CONFLUENCE_API_TOKEN}}", + "JIRA_URL": "{{JIRA_URL}}", + "JIRA_USERNAME": "{{JIRA_USERNAME}}", + "JIRA_API_TOKEN": "{{JIRA_API_TOKEN}}" + } + } + parameters: + - name: 'Confluence URL' + key: 'CONFLUENCE_URL' + placeholder: 'https://your-company.atlassian.net/wiki' + - name: 'Confluence Username' + key: 'CONFLUENCE_USERNAME' + placeholder: 'your.email@company.com' + - name: 'Confluence API Token' + key: 'CONFLUENCE_API_TOKEN' + placeholder: 'your_confluence_api_token' + - name: 'Jira URL' + key: 'JIRA_URL' + placeholder: 'https://your-company.atlassian.net' + - name: 'Jira Username' + key: 'JIRA_USERNAME' + placeholder: 'your.email@company.com' + - name: 'Jira API Token' + key: 'JIRA_API_TOKEN' + placeholder: 'your_jira_api_token' + - id: 'clickup' + name: 'ClickUp' + description: 'Comprehensive ClickUp MCP server for project management integration with AI through Model Context Protocol. Supports task management, time tracking, workspace organization, document management, member management, and tag operations with 36 available tools for complete ClickUp automation.' + author: 'taazkareem' + url: 'https://github.com/TaazKareem/clickup-mcp-server' + tags: + - 'clickup' + - 'project-management' + - 'task-management' + - 'time-tracking' + - 'productivity' + - 'automation' + - 'workflow' + - 'team-collaboration' + - 'workspace' + - 'api-integration' + prerequisites: + - 'ClickUp account' + - 'ClickUp API key' + content: + - name: 'NPX' + prerequisites: + - 'Node.js' + content: | + { + "command": "npx", + "args": ["-y", "@taazkareem/clickup-mcp-server@0.8.3", "--hash", "sha256:yAu9DCsGc8NLwXk3n/JhjjcFfdl+8fv7lcbnVUygRgO8dcG1PFEH/tgcHGpLEtBUx00z13mBH8FiSKUjd4pv5Q=="], + "env": { + "CLICKUP_API_KEY": "{{CLICKUP_API_KEY}}", + "CLICKUP_TEAM_ID": "{{CLICKUP_TEAM_ID}}", + "DOCUMENT_SUPPORT": "{{DOCUMENT_SUPPORT}}" + } + } + parameters: + - name: 'ClickUp API Key' + key: 'CLICKUP_API_KEY' + placeholder: 'pk_your_clickup_api_key' + - name: 'ClickUp Team ID' + key: 'CLICKUP_TEAM_ID' + placeholder: 'your_team_id' + - name: 'Document Support' + key: 'DOCUMENT_SUPPORT' + placeholder: 'true' + optional: true \ No newline at end of file