diff --git a/catalog-entities/marketplace/packages/all.yaml b/catalog-entities/marketplace/packages/all.yaml index b3ae25dc8a..73bf05fb94 100644 --- a/catalog-entities/marketplace/packages/all.yaml +++ b/catalog-entities/marketplace/packages/all.yaml @@ -32,6 +32,8 @@ spec: - ./parfuemerie-douglas-scaffolder-backend-module-azure-repositories.yaml - ./backstage-community-plugin-jenkins-backend.yaml - ./backstage-community-plugin-jenkins.yaml + - ./backstage-community-plugin-mcp-chat.yaml + - ./backstage-community-plugin-mcp-chat-backend.yaml - ./backstage-plugin-notifications.yaml - ./backstage-plugin-notifications-backend.yaml - ./backstage-plugin-notifications-backend-module-email.yaml diff --git a/catalog-entities/marketplace/packages/backstage-community-plugin-mcp-chat-backend.yaml b/catalog-entities/marketplace/packages/backstage-community-plugin-mcp-chat-backend.yaml new file mode 100644 index 0000000000..ad955cc15b --- /dev/null +++ b/catalog-entities/marketplace/packages/backstage-community-plugin-mcp-chat-backend.yaml @@ -0,0 +1,52 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/redhat-developer/rhdh-plugins/refs/heads/main/workspaces/marketplace/json-schema/packages.json +apiVersion: extensions.backstage.io/v1alpha1 +kind: Package +metadata: + name: backstage-community-plugin-mcp-chat-backend + namespace: rhdh + title: "@backstage-community/plugin-mcp-chat-backend" + links: + - url: https://github.com/backstage/community-plugins/blob/main/workspaces/mcp-chat/plugins/mcp-chat-backend/README.md + title: Plugin Overview (README) + - title: Source Code + url: https://github.com/backstage/community-plugins/tree/main/workspaces/mcp-chat/plugins/mcp-chat-backend + annotations: + backstage.io/source-location: url:https://github.com/backstage/community-plugins/tree/main/workspaces/mcp-chat/plugins/mcp-chat-backend + tags: [] +spec: + packageName: "@backstage-community/plugin-mcp-chat-backend" + dynamicArtifact: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-mcp-chat-backend:next__0.1.0!backstage-community-plugin-mcp-chat-backend + version: 0.1.0 + backstage: + role: backend-plugin + supportedVersions: 1.42.5 + author: Backstage Community + support: community + lifecycle: active + partOf: + - mcp-chat + appConfigExamples: + - title: Default configuration with Gemini provider + content: + mcpChat: + # Configure AI providers + providers: + - id: gemini + token: ${GEMINI_API_KEY} + model: gemini-2.5-flash + # Optional: Configure MCP servers + mcpServers: + - id: github-server + name: Github Server + url: 'https://api.githubcopilot.com/mcp' + headers: + Authorization: 'Bearer ${GITHUB_TOKEN}' + # Optional: Customize the system prompt + systemPrompt: "You are a helpful assistant. When using tools, provide a clear, readable summary of the results rather than showing raw data. Focus on answering the user's question with the information gathered." + # Configure quick prompts + quickPrompts: + - title: 'List all repositories' + description: 'List all repositories in a given organization' + prompt: 'List all repositories in the organization Backstage' + category: GitHub + diff --git a/catalog-entities/marketplace/packages/backstage-community-plugin-mcp-chat.yaml b/catalog-entities/marketplace/packages/backstage-community-plugin-mcp-chat.yaml new file mode 100644 index 0000000000..409bcd3a00 --- /dev/null +++ b/catalog-entities/marketplace/packages/backstage-community-plugin-mcp-chat.yaml @@ -0,0 +1,39 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/redhat-developer/rhdh-plugins/refs/heads/main/workspaces/marketplace/json-schema/packages.json +apiVersion: extensions.backstage.io/v1alpha1 +kind: Package +metadata: + name: backstage-community-plugin-mcp-chat + namespace: rhdh + title: "@backstage-community/plugin-mcp-chat" + links: + - url: https://github.com/backstage/community-plugins/blob/main/workspaces/mcp-chat/plugins/mcp-chat/README.md + title: Plugin Overview (README) + - title: Source Code + url: https://github.com/backstage/community-plugins/tree/main/workspaces/mcp-chat/plugins/mcp-chat + annotations: + backstage.io/source-location: url:https://github.com/backstage/community-plugins/tree/main/workspaces/mcp-chat/plugins/mcp-chat + tags: [] +spec: + packageName: "@backstage-community/plugin-mcp-chat" + dynamicArtifact: oci://ghcr.io/redhat-developer/rhdh-plugin-export-overlays/backstage-community-plugin-mcp-chat:next__0.1.0!backstage-community-plugin-mcp-chat + version: 0.1.0 + backstage: + role: frontend-plugin + supportedVersions: 1.42.5 + author: Backstage Community + support: community + lifecycle: active + partOf: + - mcp-chat + appConfigExamples: + - title: Default configuration + content: + dynamicPlugins: + frontend: + backstage-community.plugin-mcp-chat: + dynamicRoutes: + - path: /mcp-chat + importName: McpChatPage + menuItem: + icon: MCPChatIcon + text: MCP Chat diff --git a/catalog-entities/marketplace/plugins/all.yaml b/catalog-entities/marketplace/plugins/all.yaml index b193b2d100..930c06b27b 100644 --- a/catalog-entities/marketplace/plugins/all.yaml +++ b/catalog-entities/marketplace/plugins/all.yaml @@ -49,6 +49,7 @@ spec: - ./kubernetes-backend.yaml - ./ldap-catalog-integration.yaml - ./lighthouse.yaml + - ./mcp-chat.yaml - ./microsoft-graph-catalog-integration.yaml - ./nexus-repository-manager.yaml - ./notifications.yaml diff --git a/catalog-entities/marketplace/plugins/mcp-chat.yaml b/catalog-entities/marketplace/plugins/mcp-chat.yaml new file mode 100644 index 0000000000..13f3550d83 --- /dev/null +++ b/catalog-entities/marketplace/plugins/mcp-chat.yaml @@ -0,0 +1,68 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/redhat-developer/rhdh-plugins/refs/heads/main/workspaces/marketplace/json-schema/plugins.json +apiVersion: extensions.backstage.io/v1alpha1 +kind: Plugin +metadata: + name: mcp-chat + namespace: rhdh + title: MCP Chat + annotations: + extensions.backstage.io/pre-installed: 'false' + links: + - title: Plugin Overview (README) + url: https://github.com/backstage/community-plugins/blob/main/workspaces/mcp-chat/README.md + - title: Source Code + url: https://github.com/backstage/community-plugins/tree/main/workspaces/mcp-chat + tags: + - ai + - chat + - automation + - mcp + - developer-tools + description: | + AI-powered chat interface with Model Context Protocol integration for intelligent automation and tool orchestration +spec: + author: Backstage Community + support: + provider: Backstage Community + level: community + lifecycle: active + publisher: Backstage Community + + categories: + - AI + - Developer Tools + + description: | + The MCP Chat plugin brings conversational AI capabilities directly into your Backstage environment. It leverages the Model Context Protocol (MCP) + to connect with various AI providers and external tools, enabling developers to interact with their infrastructure, catalogs, and external services + through natural language. + + ## Features + + - **Multi-Provider AI Support**: Works with OpenAI, Claude, Gemini, and Ollama - choose the AI provider that best fits your needs + - **Multi-Server Support**: Connect multiple MCP servers simultaneously (STDIO, SSE, Streamable HTTP) for diverse tool integration + - **Tool Management**: Browse and dynamically enable/disable tools from connected MCP servers through an intuitive interface + - **Rich Chat Interface**: Beautiful, responsive chat UI with full markdown support for formatted responses + - **Quick Setup**: Configurable QuickStart prompts for common use cases - get started with pre-built automation tasks + + ## Supported AI Providers + + The following AI providers and models have been thoroughly tested: + + - **OpenAI** (`gpt-4o-mini`) - Fully tested, recommended for production use + - **Gemini** (`gemini-2.5-flash`) - Fully tested with excellent tool calling performance, free tier available + - **Ollama** (`llama3.1:8b`) - Tested, works well locally (larger models like `llama3.1:30b` recommended for better results) + - **Claude** - Supported with tool calling capabilities + + ## Highlights + + - **Multi-Provider AI Support**: Works with OpenAI, Claude, Gemini, and Ollama - choose the AI provider that best fits your needs + - **Model Context Protocol (MCP) Integration**: Connect with various AI providers and external tools, enabling developers to interact with their infrastructure, catalogs, and external services through natural language. + - **Dynamic Tool Discovery and Management**: Browse and dynamically enable/disable tools from connected MCP servers through an intuitive interface + - **Rich Markdown Chat Interface**: Beautiful, responsive chat UI with full markdown support for formatted responses + - **Configurable Quick Prompts**: Configurable QuickStart prompts for common use cases - get started with pre-built automation tasks + + packages: + - backstage-community-plugin-mcp-chat + - backstage-community-plugin-mcp-chat-backend +