Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions examples/workflow-server/src/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ export * from './handler/grid-snapper';
export * from './labeledit/workflow-label-edit-validator';
export * from './layout/workflow-layout-configurator';
export * from './marker/workflow-model-validator';
export * from './mcp/workflow-element-types-provider';
export * from './mcp/workflow-mcp-label-provider';
export * from './mcp/workflow-mcp-model-serializer';
export * from './mcp/workflow-mcp-module';
export * from './model/workflow-navigation-target-resolver';
export * from './provider/abstract-next-or-previous-navigation-target-provider';
export * from './provider/next-node-navigation-target-provider';
Expand Down
59 changes: 50 additions & 9 deletions packages/server-mcp/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,53 @@
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
********************************************************************************/
export * from './prompts';
export * from './resources';
export * from './server';
export * from './tools';
export * from './util';
// Module classes — exported here (not from `./server`) to avoid circular imports through
// the handler barrels which the modules consume.
export * from './server/mcp-diagram-module';
export * from './server/mcp-server-module';
export * from './modules/mcp-diagram-module';
export * from './modules/mcp-server-module';
export * from './prompts/handlers/describe-diagram-mcp-prompt-handler';
export * from './prompts/handlers/suggest-improvements-mcp-prompt-handler';
export * from './resources/handlers/diagram-png-mcp-resource-handler';
export * from './resources/handlers/diagram-svg-mcp-resource-handler';
export * from './resources/services/element-types-provider';
export * from './resources/services/mcp-model-serializer';
export * from './server/glsp-mcp-server';
export * from './server/lru-event-store';
export * from './server/mcp-diagram-handler-dispatcher';
export * from './server/mcp-diagram-prompt-handler-registry';
export * from './server/mcp-diagram-resource-handler-registry';
export * from './server/mcp-diagram-tool-handler-registry';
export * from './server/mcp-handler-shared';
export * from './server/mcp-http-transport';
export * from './server/mcp-id-alias-service';
export * from './server/mcp-input-schemas';
export * from './server/mcp-label-provider';
export * from './server/mcp-log-level-registry';
export * from './server/mcp-logger';
export * from './server/mcp-mime-types';
export * from './server/mcp-options';
export * from './server/mcp-progress-reporter';
export * from './server/mcp-prompt-handler';
export * from './server/mcp-request-context';
export * from './server/mcp-resource-handler';
export * from './server/mcp-server-launcher';
export * from './server/mcp-session';
export * from './server/mcp-tool-handler';
export * from './tools/handlers/count-elements-mcp-tool-handler';
export * from './tools/handlers/create-edges-mcp-tool-handler';
export * from './tools/handlers/create-nodes-mcp-tool-handler';
export * from './tools/handlers/delete-elements-mcp-tool-handler';
export * from './tools/handlers/diagram-model-mcp-tool-handler';
export * from './tools/handlers/element-types-mcp-tool-handler';
export * from './tools/handlers/get-selection-mcp-tool-handler';
export * from './tools/handlers/layout-mcp-tool-handler';
export * from './tools/handlers/modify-edges-mcp-tool-handler';
export * from './tools/handlers/modify-nodes-mcp-tool-handler';
export * from './tools/handlers/query-elements-mcp-tool-handler';
export * from './tools/handlers/redo-mcp-tool-handler';
export * from './tools/handlers/save-model-mcp-tool-handler';
export * from './tools/handlers/session-info-mcp-tool-handler';
export * from './tools/handlers/set-selection-mcp-tool-handler';
export * from './tools/handlers/set-view-mcp-tool-handler';
export * from './tools/handlers/undo-mcp-tool-handler';
export * from './tools/handlers/validate-diagram-mcp-tool-handler';
export * from './util/markdown-util';
export * from './util/mcp-util';
Original file line number Diff line number Diff line change
Expand Up @@ -16,48 +16,47 @@

import { applyBindingTarget, BindingTarget, ClientSessionInitializer, GLSPModule, InstanceMultiBinding } from '@eclipse-glsp/server';
import { interfaces } from 'inversify';
import { DiagramPngMcpResourceHandler, DiagramSvgMcpResourceHandler } from '../resources';
import { DiagramPngMcpResourceHandler } from '../resources/handlers/diagram-png-mcp-resource-handler';
import { DiagramSvgMcpResourceHandler } from '../resources/handlers/diagram-svg-mcp-resource-handler';
import { DefaultElementTypesProvider, ElementTypesProvider } from '../resources/services/element-types-provider';
import { MarkdownMcpModelSerializer, McpModelSerializer } from '../resources/services/mcp-model-serializer';
import {
CountElementsMcpToolHandler,
CreateEdgesMcpToolHandler,
CreateNodesMcpToolHandler,
DeleteElementsMcpToolHandler,
DiagramModelMcpToolHandler,
GetSelectionMcpToolHandler,
LayoutMcpToolHandler,
ModifyEdgesMcpToolHandler,
ModifyNodesMcpToolHandler,
QueryElementsMcpToolHandler,
RedoMcpToolHandler,
SaveModelMcpToolHandler,
SetSelectionMcpToolHandler,
SetViewMcpToolHandler,
UndoMcpToolHandler,
ValidateDiagramMcpToolHandler
} from '../tools';
import { CountElementsMcpToolHandler } from '../tools/handlers/count-elements-mcp-tool-handler';
import { CreateEdgesMcpToolHandler } from '../tools/handlers/create-edges-mcp-tool-handler';
import { CreateNodesMcpToolHandler } from '../tools/handlers/create-nodes-mcp-tool-handler';
import { DeleteElementsMcpToolHandler } from '../tools/handlers/delete-elements-mcp-tool-handler';
import { DiagramModelMcpToolHandler } from '../tools/handlers/diagram-model-mcp-tool-handler';
import { GetSelectionMcpToolHandler } from '../tools/handlers/get-selection-mcp-tool-handler';
import { LayoutMcpToolHandler } from '../tools/handlers/layout-mcp-tool-handler';
import { ModifyEdgesMcpToolHandler } from '../tools/handlers/modify-edges-mcp-tool-handler';
import { ModifyNodesMcpToolHandler } from '../tools/handlers/modify-nodes-mcp-tool-handler';
import { QueryElementsMcpToolHandler } from '../tools/handlers/query-elements-mcp-tool-handler';
import { RedoMcpToolHandler } from '../tools/handlers/redo-mcp-tool-handler';
import { SaveModelMcpToolHandler } from '../tools/handlers/save-model-mcp-tool-handler';
import { SetSelectionMcpToolHandler } from '../tools/handlers/set-selection-mcp-tool-handler';
import { SetViewMcpToolHandler } from '../tools/handlers/set-view-mcp-tool-handler';
import { UndoMcpToolHandler } from '../tools/handlers/undo-mcp-tool-handler';
import { ValidateDiagramMcpToolHandler } from '../tools/handlers/validate-diagram-mcp-tool-handler';
import {
McpDiagramPromptHandlerFactory,
McpDiagramPromptHandlerRegistry,
McpDiagramPromptHandlerRegistryInitializer
} from './mcp-diagram-prompt-handler-registry';
} from '../server/mcp-diagram-prompt-handler-registry';
import {
McpDiagramResourceHandlerFactory,
McpDiagramResourceHandlerRegistry,
McpDiagramResourceHandlerRegistryInitializer
} from './mcp-diagram-resource-handler-registry';
} from '../server/mcp-diagram-resource-handler-registry';
import {
McpDiagramToolHandlerFactory,
McpDiagramToolHandlerRegistry,
McpDiagramToolHandlerRegistryInitializer
} from './mcp-diagram-tool-handler-registry';
import { DefaultMcpIdAliasService, McpIdAliasService } from './mcp-id-alias-service';
import { McpDiagramScopedInput } from './mcp-input-schemas';
import { DefaultMcpLabelProvider, McpLabelProvider } from './mcp-label-provider';
import { AbstractMcpDiagramPromptHandler, McpDiagramPromptHandlerConstructor } from './mcp-prompt-handler';
import { AbstractMcpDiagramResourceHandler, McpDiagramResourceHandlerConstructor } from './mcp-resource-handler';
import { BaseMcpDiagramToolHandler, McpDiagramToolHandlerConstructor } from './mcp-tool-handler';
} from '../server/mcp-diagram-tool-handler-registry';
import { DefaultMcpIdAliasService, McpIdAliasService } from '../server/mcp-id-alias-service';
import { McpDiagramScopedInput } from '../server/mcp-input-schemas';
import { DefaultMcpLabelProvider, McpLabelProvider } from '../server/mcp-label-provider';
import { AbstractMcpDiagramPromptHandler, McpDiagramPromptHandlerConstructor } from '../server/mcp-prompt-handler';
import { AbstractMcpDiagramResourceHandler, McpDiagramResourceHandlerConstructor } from '../server/mcp-resource-handler';
import { BaseMcpDiagramToolHandler, McpDiagramToolHandlerConstructor } from '../server/mcp-tool-handler';

/**
* Per-GLSP-client-session DI module for the MCP server. Loaded inside `configureDiagramModule`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,22 @@ import {
} from '@eclipse-glsp/server';
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { interfaces } from 'inversify';
import { DescribeDiagramMcpPromptHandler, SuggestImprovementsMcpPromptHandler } from '../prompts';
import { ElementTypesMcpToolHandler, SessionInfoMcpToolHandler } from '../tools';
import { DefaultGLSPMcpServer, GLSPMcpServerFactory } from './glsp-mcp-server';
import { DefaultMcpDiagramHandlerDispatcher, McpDiagramHandlerDispatcher } from './mcp-diagram-handler-dispatcher';
import { DefaultMcpLogLevelRegistry, McpLogLevelRegistry } from './mcp-log-level-registry';
import { LruEventStore } from './lru-event-store';
import { McpHttpTransport } from './mcp-http-transport';
import { McpLogger } from './mcp-logger';
import { McpServerDefaults, McpServerOptions } from './mcp-options';
import { McpProgressReporter } from './mcp-progress-reporter';
import { McpPromptHandler } from './mcp-prompt-handler';
import { McpResourceHandler } from './mcp-resource-handler';
import { McpServerLauncher } from './mcp-server-launcher';
import { McpToolHandler } from './mcp-tool-handler';
import { DescribeDiagramMcpPromptHandler } from '../prompts/handlers/describe-diagram-mcp-prompt-handler';
import { SuggestImprovementsMcpPromptHandler } from '../prompts/handlers/suggest-improvements-mcp-prompt-handler';
import { ElementTypesMcpToolHandler } from '../tools/handlers/element-types-mcp-tool-handler';
import { SessionInfoMcpToolHandler } from '../tools/handlers/session-info-mcp-tool-handler';
import { DefaultGLSPMcpServer, GLSPMcpServerFactory } from '../server/glsp-mcp-server';
import { DefaultMcpDiagramHandlerDispatcher, McpDiagramHandlerDispatcher } from '../server/mcp-diagram-handler-dispatcher';
import { DefaultMcpLogLevelRegistry, McpLogLevelRegistry } from '../server/mcp-log-level-registry';
import { LruEventStore } from '../server/lru-event-store';
import { McpHttpTransport } from '../server/mcp-http-transport';
import { McpLogger } from '../server/mcp-logger';
import { McpServerDefaults, McpServerOptions } from '../server/mcp-options';
import { McpProgressReporter } from '../server/mcp-progress-reporter';
import { McpPromptHandler } from '../server/mcp-prompt-handler';
import { McpResourceHandler } from '../server/mcp-resource-handler';
import { McpServerLauncher } from '../server/mcp-server-launcher';
import { McpToolHandler } from '../server/mcp-tool-handler';

/**
* GLSP-generic default agent persona — adopters typically pass a product-specific persona to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,14 @@
import { ClientSessionManager } from '@eclipse-glsp/server';
import { inject, injectable } from 'inversify';
import * as z from 'zod/v4';
import { AbstractMcpPromptHandler, McpPromptResult, resolveActiveSessionId } from '../../server';
import {
CountElementsMcpToolHandler,
DiagramModelMcpToolHandler,
ElementTypesMcpToolHandler,
QueryElementsMcpToolHandler,
SetSelectionMcpToolHandler,
SetViewMcpToolHandler
} from '../../tools';
import { McpPromptResult, resolveActiveSessionId } from '../../server/mcp-handler-shared';
import { AbstractMcpPromptHandler } from '../../server/mcp-prompt-handler';
import { CountElementsMcpToolHandler } from '../../tools/handlers/count-elements-mcp-tool-handler';
import { DiagramModelMcpToolHandler } from '../../tools/handlers/diagram-model-mcp-tool-handler';
import { ElementTypesMcpToolHandler } from '../../tools/handlers/element-types-mcp-tool-handler';
import { QueryElementsMcpToolHandler } from '../../tools/handlers/query-elements-mcp-tool-handler';
import { SetSelectionMcpToolHandler } from '../../tools/handlers/set-selection-mcp-tool-handler';
import { SetViewMcpToolHandler } from '../../tools/handlers/set-view-mcp-tool-handler';

export const DescribeDiagramArgsSchema = z.object({
sessionId: z
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,12 @@
import { ClientSessionManager } from '@eclipse-glsp/server';
import { inject, injectable } from 'inversify';
import * as z from 'zod/v4';
import { AbstractMcpPromptHandler, McpPromptResult, resolveActiveSessionId } from '../../server';
import {
DiagramModelMcpToolHandler,
QueryElementsMcpToolHandler,
SetSelectionMcpToolHandler,
ValidateDiagramMcpToolHandler
} from '../../tools';
import { McpPromptResult, resolveActiveSessionId } from '../../server/mcp-handler-shared';
import { AbstractMcpPromptHandler } from '../../server/mcp-prompt-handler';
import { DiagramModelMcpToolHandler } from '../../tools/handlers/diagram-model-mcp-tool-handler';
import { QueryElementsMcpToolHandler } from '../../tools/handlers/query-elements-mcp-tool-handler';
import { SetSelectionMcpToolHandler } from '../../tools/handlers/set-selection-mcp-tool-handler';
import { ValidateDiagramMcpToolHandler } from '../../tools/handlers/validate-diagram-mcp-tool-handler';

export const SuggestImprovementsArgsSchema = z.object({
sessionId: z
Expand Down
18 changes: 0 additions & 18 deletions packages/server-mcp/src/prompts/index.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,11 @@ import { ClientActionKinds, isGBoundsAware, RequestExportAction } from '@eclipse
import { Role } from '@modelcontextprotocol/sdk/types.js';
import { inject, injectable } from 'inversify';
import * as z from 'zod/v4';
import {
AbstractMcpDiagramResourceHandler,
McpDiagramScopedInputSchema,
McpMimeType,
McpProgressReporter,
McpResourceContent,
McpResourceUri,
McpToolError
} from '../../server';
import { McpResourceContent, McpToolError } from '../../server/mcp-handler-shared';
import { McpDiagramScopedInputSchema } from '../../server/mcp-input-schemas';
import { McpMimeType } from '../../server/mcp-mime-types';
import { McpProgressReporter } from '../../server/mcp-progress-reporter';
import { AbstractMcpDiagramResourceHandler, McpResourceUri } from '../../server/mcp-resource-handler';

export const DiagramPngInputSchema = McpDiagramScopedInputSchema.extend({
scale: z
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,11 @@ import { ClientActionKinds, RequestExportAction } from '@eclipse-glsp/server';
import { Role } from '@modelcontextprotocol/sdk/types.js';
import { inject, injectable } from 'inversify';
import * as z from 'zod/v4';
import {
AbstractMcpDiagramResourceHandler,
McpDiagramScopedInputSchema,
McpMimeType,
McpProgressReporter,
McpResourceContent,
McpResourceUri,
McpToolError
} from '../../server';
import { McpResourceContent, McpToolError } from '../../server/mcp-handler-shared';
import { McpDiagramScopedInputSchema } from '../../server/mcp-input-schemas';
import { McpMimeType } from '../../server/mcp-mime-types';
import { McpProgressReporter } from '../../server/mcp-progress-reporter';
import { AbstractMcpDiagramResourceHandler, McpResourceUri } from '../../server/mcp-resource-handler';

export const DiagramSvgInputSchema = McpDiagramScopedInputSchema.extend({
timeoutMs: z
Expand Down
20 changes: 0 additions & 20 deletions packages/server-mcp/src/resources/index.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { Dimension, GModelSerializer, Logger, Point } from '@eclipse-glsp/server
import { inject, injectable, postConstruct } from 'inversify';
import { McpStructuredContent } from '../../server/mcp-handler-shared';
import { McpIdAliasService } from '../../server/mcp-id-alias-service';
import { objectArrayToMarkdownTable } from '../../util';
import { objectArrayToMarkdownTable } from '../../util/markdown-util';

export const McpModelSerializer = Symbol('McpModelSerializer');

Expand Down
42 changes: 0 additions & 42 deletions packages/server-mcp/src/server/index.ts

This file was deleted.

Loading
Loading