Open
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds Model Context Protocol (MCP) support to the GLSP server, enabling AI assistants and other MCP clients to interact with GLSP diagrams through a standardized protocol. The implementation provides HTTP-based MCP server functionality with default tools for diagram manipulation and resources for querying diagram state.
Key changes:
- Introduces new
@eclipse-glsp/server-mcppackage with MCP server infrastructure, HTTP transport layer, and default tools/resources for diagram interaction - Extends GLSP server initialization to support contributions via
GLSPServerInitContributioninterface - Updates workflow example to demonstrate MCP integration
Reviewed changes
Copilot reviewed 19 out of 21 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/server/src/common/session/client-session-manager.ts | Adds getSessions() method to retrieve all active client sessions |
| packages/server/src/common/protocol/glsp-server.ts | Introduces GLSPServerInitContribution mechanism and deprecates handleInitializeArgs |
| packages/server/src/common/di/server-module.ts | Adds binding configuration for GLSPServerInitContribution |
| packages/server-mcp/tsconfig.json | TypeScript configuration for new MCP package |
| packages/server-mcp/src/mcp-util.ts | Utility functions for MCP parameter extraction and result formatting |
| packages/server-mcp/src/mcp-server-manager.ts | Core MCP server lifecycle management and HTTP server initialization |
| packages/server-mcp/src/mcp-server-contribution.ts | Interface for extending MCP server with custom tools and resources |
| packages/server-mcp/src/index.ts | Package exports |
| packages/server-mcp/src/http-server-with-sessions.ts | HTTP server implementation with MCP session management |
| packages/server-mcp/src/di.config.ts | Dependency injection configuration for MCP module |
| packages/server-mcp/src/default-mcp-tool-contribution.ts | Default MCP tools for diagram validation, element creation, undo/redo, and save operations |
| packages/server-mcp/src/default-mcp-resource-contribution.ts | Default MCP resources for querying sessions, diagram types, element types, and models |
| packages/server-mcp/package.json | Package metadata and dependencies for MCP package |
| packages/server-mcp/.eslintrc.js | ESLint configuration ignoring MCP SDK imports |
| examples/workflow-server/tsconfig.json | Adds reference to server-mcp package |
| examples/workflow-server/src/node/app.ts | Integrates MCP module into workflow server |
| examples/workflow-server/src/common/workflow-glsp-server.ts | Migrates from deprecated handleInitializeArgs to GLSPServerInitContribution |
| examples/workflow-server/src/common/workflow-diagram-module.ts | Updates binding to use new init contribution pattern |
| examples/workflow-server/package.json | Adds dependency on server-mcp package |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add new package to start a MCP server as part of the GLSP server -- Start MCP HTTP server for client connections on GLSP server start -- Provide some default tools and resources -- Expose functionality as custom module - Extend examples to use GLSP MCP Server Part of eclipse-glsp/glsp#1546
fd94922 to
05c8fc5
Compare
This was referenced Dec 19, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What it does
Part of eclipse-glsp/glsp#1546
Requires eclipse-glsp/glsp-client#456
How to test
mcpServerconfiguration[McpServerManager] MCP server 'glspMcpServer' is ready to accept new client requests on: http://127.0.0.1:5555/glsp-mcpFollow-ups
Changelog