Skip to content

feat(mcp-chat): added shared libraires and extension points#8370

Open
fjudith wants to merge 17 commits intobackstage:mainfrom
alithya-oss:feat/mcp-chat-backend-v2a
Open

feat(mcp-chat): added shared libraires and extension points#8370
fjudith wants to merge 17 commits intobackstage:mainfrom
alithya-oss:feat/mcp-chat-backend-v2a

Conversation

@fjudith
Copy link
Copy Markdown
Contributor

@fjudith fjudith commented Mar 30, 2026

Hey, I just made a Pull Request!

Starts the Implementation of #7976 following the adr011 and superseeds #8196.

  • add the isomorphic package for shared types and future support for translations and permissions
  • add the node library to share the extension point between the backend and backend module
flowchart LR
    subgraph sg1["Common Library: plugin-mcp-chat-common"]
        TYPES["Shared Types (ChatMessage, Tool, etc.)"]
    end

    subgraph sg2["Node Library: plugin-mcp-chat-node"]
        EP["llmProviderExtensionPoint"]
        BASE["LLMProvider (abstract), ProviderConfig"]
    end

    subgraph sg3["Core Plugin: plugin-mcp-chat-backend"]
        SVC["MCPClientServiceImpl"]
        ROUTER["createRouter"]
        PLUGIN["mcpChatPlugin (createBackendPlugin)"]
        MOD_OAI["module-openai"]
        MOD_ANT["module-anthropic"]
        MOD_GEM["module-gemini"]
        MOD_OLL["module-ollama"]
        MOD_LIT["module-litellm"]
        MOD_OAR["module-openai-responses"]
        PF["provider-factory"]
    end

    EP -->|depends on| BASE
    PLUGIN -->|depends on| PF
    PLUGIN -->|depends on| TYPES
    SVC -->|uses| BASE

    PF -->MOD_OAI
    PF -->MOD_ANT
    PF -->MOD_GEM
    PF -->MOD_OLL
    PF -->MOD_LIT
    PF -->MOD_OAR
    PF -->BASE

    PLUGIN -->|reads registry from| EP
    PLUGIN -->|resolves active provider, injects into| SVC

    MOD_OAI -->|extends| BASE
    MOD_ANT -->|extends| BASE
    MOD_GEM -->|extends| BASE
    MOD_OLL -->|extends| BASE
    MOD_LIT -->|extends| BASE
    MOD_OAR -->|extends| BASE

    MOD_OAI -->|extends| TYPES
    MOD_ANT -->|extends| TYPES
    MOD_GEM -->|extends| TYPES
    MOD_OLL -->|extends| TYPES
    MOD_LIT -->|extends| TYPES
    MOD_OAR -->|extends| TYPES

    MOD_GEM -->|depends on| GOOGLE["@google/genai"]
    MOD_OLL -->|depends on| OLLAMA["ollama"]

    style sg1 fill: lightgreen
    style sg2 fill: lightgreen
    style PF fill: #FDD835
Loading

✔️ Checklist

  • A changeset describing the change and affected packages. (more info)
  • Added or updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)
  • All your commits have a Signed-off-by line in the message. (more info)

fjudith added 15 commits March 29, 2026 19:00
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
…ckage

Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
… package

Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
see: comments backstage#8196
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
@fjudith fjudith force-pushed the feat/mcp-chat-backend-v2a branch from 2ca5d06 to 5620679 Compare March 30, 2026 00:46
@backstage backstage deleted a comment from backstage-goalie bot Mar 30, 2026
@backstage-goalie
Copy link
Copy Markdown
Contributor

Changed Packages

Package Name Package Path Changeset Bump Current Version
@backstage-community/plugin-mcp-chat-backend workspaces/mcp-chat/plugins/mcp-chat-backend minor v0.8.0
@backstage-community/plugin-mcp-chat-common workspaces/mcp-chat/plugins/mcp-chat-common minor v0.1.0
@backstage-community/plugin-mcp-chat-node workspaces/mcp-chat/plugins/mcp-chat-node minor v0.1.0
@backstage-community/plugin-mcp-chat workspaces/mcp-chat/plugins/mcp-chat minor v0.6.0

Signed-off-by: Florian JUDITH <florian.judith@alithya.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants