@mytecz/teczflow-mcp-server 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
+ import { bootstrapEngine, createMcpServer } from './tool.registry.js';
4
+ async function main() {
5
+ const engine = await bootstrapEngine();
6
+ const server = createMcpServer(engine);
7
+ const transport = new StdioServerTransport();
8
+ await server.connect(transport);
9
+ }
10
+ main().catch((err) => {
11
+ console.error('TeczFlow MCP Server failed:', err);
12
+ process.exit(1);
13
+ });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { TeczFlowEngine } from '@mytecz/teczflow-core';
3
+ export declare function createMcpServer(engine: TeczFlowEngine): McpServer;
4
+ export declare function bootstrapEngine(): Promise<TeczFlowEngine>;
5
+ //# sourceMappingURL=tool.registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.registry.d.ts","sourceRoot":"","sources":["../src/tool.registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAsMjE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,cAAc,CAAC,CAK/D"}
@@ -0,0 +1,183 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { z } from 'zod';
3
+ import { TeczFlowEngine } from '@mytecz/teczflow-core';
4
+ import { resolve } from 'node:path';
5
+ import { existsSync } from 'node:fs';
6
+ export function createMcpServer(engine) {
7
+ const server = new McpServer({
8
+ name: 'teczflow',
9
+ version: '1.0.0'
10
+ });
11
+ const config = engine.getConfigManager();
12
+ const features = config.getFeatureFlags();
13
+ server.registerTool('list_apis', {
14
+ title: 'List APIs',
15
+ description: 'List all APIs in the TeczFlow knowledge graph for the current tenant.',
16
+ inputSchema: { tenantId: z.string().optional().describe('Tenant ID') }
17
+ }, async (params) => {
18
+ if (params.tenantId)
19
+ engine.setActiveTenant(params.tenantId);
20
+ const apis = engine.getServices().discovery.listApis();
21
+ return { content: [{ type: 'text', text: JSON.stringify(apis, null, 2) }] };
22
+ });
23
+ server.registerTool('list_endpoints', {
24
+ title: 'List Endpoints',
25
+ description: 'List all endpoints for a given API name or ID.',
26
+ inputSchema: {
27
+ api: z.string().describe('API name or ID'),
28
+ tenantId: z.string().optional().describe('Tenant ID')
29
+ }
30
+ }, async ({ api, tenantId }) => {
31
+ if (tenantId)
32
+ engine.setActiveTenant(tenantId);
33
+ const endpoints = engine.getServices().discovery.listEndpoints(api);
34
+ return { content: [{ type: 'text', text: JSON.stringify(endpoints, null, 2) }] };
35
+ });
36
+ server.registerTool('get_api_summary', {
37
+ title: 'Get API Summary',
38
+ description: 'Get a summary of an API including endpoint count, tags, and auth schemes.',
39
+ inputSchema: {
40
+ api: z.string().describe('API name or ID'),
41
+ tenantId: z.string().optional()
42
+ }
43
+ }, async ({ api, tenantId }) => {
44
+ if (tenantId)
45
+ engine.setActiveTenant(tenantId);
46
+ const summary = engine.getServices().discovery.getApiSummary(api);
47
+ return {
48
+ content: [{ type: 'text', text: JSON.stringify(summary ?? { error: 'API not found' }, null, 2) }]
49
+ };
50
+ });
51
+ server.registerTool('search_apis', {
52
+ title: 'Search APIs',
53
+ description: 'Search APIs and endpoints using natural language query (e.g. "refund flow", "invoice APIs").',
54
+ inputSchema: {
55
+ query: z.string().describe('Search query'),
56
+ tenantId: z.string().optional()
57
+ }
58
+ }, async ({ query, tenantId }) => {
59
+ if (tenantId)
60
+ engine.setActiveTenant(tenantId);
61
+ const results = engine.getServices().search.search(query);
62
+ return { content: [{ type: 'text', text: JSON.stringify(results, null, 2) }] };
63
+ });
64
+ if (features.workflow_inference) {
65
+ server.registerTool('infer_workflow', {
66
+ title: 'Infer Workflow',
67
+ description: 'Infer a business workflow from API endpoints for a given goal (e.g. "checkout process").',
68
+ inputSchema: {
69
+ goal: z.string().describe('Workflow goal'),
70
+ tenantId: z.string().optional()
71
+ }
72
+ }, async ({ goal, tenantId }) => {
73
+ if (tenantId)
74
+ engine.setActiveTenant(tenantId);
75
+ const result = engine.getServices().workflow.infer(goal);
76
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
77
+ });
78
+ }
79
+ server.registerTool('explain_api_error', {
80
+ title: 'Explain API Error',
81
+ description: 'Explain why an API call failed based on endpoint, request, and response.',
82
+ inputSchema: {
83
+ endpoint: z.string().describe('Endpoint reference e.g. POST /payments'),
84
+ request: z.record(z.unknown()).optional().describe('Request payload'),
85
+ response: z
86
+ .object({ status: z.number(), body: z.unknown().optional() })
87
+ .optional()
88
+ .describe('Response details'),
89
+ tenantId: z.string().optional()
90
+ }
91
+ }, async ({ endpoint, request, response, tenantId }) => {
92
+ if (tenantId)
93
+ engine.setActiveTenant(tenantId);
94
+ const result = engine.getServices().debug.explain(endpoint, request ?? {}, response);
95
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
96
+ });
97
+ if (features.impact_analysis) {
98
+ server.registerTool('analyze_change', {
99
+ title: 'Analyze Change Impact',
100
+ description: 'Analyze what breaks if an endpoint or schema changes.',
101
+ inputSchema: {
102
+ endpoint: z.string().describe('Endpoint to analyze'),
103
+ tenantId: z.string().optional()
104
+ }
105
+ }, async ({ endpoint, tenantId }) => {
106
+ if (tenantId)
107
+ engine.setActiveTenant(tenantId);
108
+ const result = engine.getServices().impact.analyze(endpoint);
109
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
110
+ });
111
+ }
112
+ server.registerTool('get_api_graph', {
113
+ title: 'Get API Graph',
114
+ description: 'Get the knowledge graph subgraph for an API.',
115
+ inputSchema: {
116
+ api: z.string().describe('API name or ID'),
117
+ tenantId: z.string().optional()
118
+ }
119
+ }, async ({ api, tenantId }) => {
120
+ if (tenantId)
121
+ engine.setActiveTenant(tenantId);
122
+ const graph = engine.getServices().graphService.getApiGraph(api);
123
+ return { content: [{ type: 'text', text: JSON.stringify(graph, null, 2) }] };
124
+ });
125
+ server.registerTool('get_dependencies', {
126
+ title: 'Get Dependencies',
127
+ description: 'Get dependencies for an endpoint from the knowledge graph.',
128
+ inputSchema: {
129
+ endpoint: z.string().describe('Endpoint reference'),
130
+ tenantId: z.string().optional()
131
+ }
132
+ }, async ({ endpoint, tenantId }) => {
133
+ if (tenantId)
134
+ engine.setActiveTenant(tenantId);
135
+ const deps = engine.getServices().graphService.getDependencies(endpoint);
136
+ return { content: [{ type: 'text', text: JSON.stringify(deps, null, 2) }] };
137
+ });
138
+ if (config.getConfig().tenantMode) {
139
+ server.registerTool('list_tenants', {
140
+ title: 'List Tenants',
141
+ description: 'List configured tenants (SaaS admin).',
142
+ inputSchema: {}
143
+ }, async () => {
144
+ const tenants = engine.listTenants();
145
+ return { content: [{ type: 'text', text: JSON.stringify(tenants, null, 2) }] };
146
+ });
147
+ }
148
+ server.registerTool('get_feature_flags', {
149
+ title: 'Get Feature Flags',
150
+ description: 'Get current feature flag configuration.',
151
+ inputSchema: {}
152
+ }, async () => {
153
+ const flags = engine.getFeatureFlags();
154
+ return { content: [{ type: 'text', text: JSON.stringify(flags, null, 2) }] };
155
+ });
156
+ return server;
157
+ }
158
+ export async function bootstrapEngine() {
159
+ const engine = new TeczFlowEngine();
160
+ await loadDefaultFixtures(engine);
161
+ await engine.refreshTelemetry();
162
+ return engine;
163
+ }
164
+ async function loadDefaultFixtures(engine) {
165
+ const base = engine.getConfigManager().getBaseDir();
166
+ const fixtures = [
167
+ { path: resolve(base, 'fixtures/shopflow.openapi.yaml'), format: 'openapi' },
168
+ { path: resolve(base, 'fixtures/shopflow.postman.json'), format: 'postman' },
169
+ { path: resolve(base, 'fixtures/telemetry/checkout-errors.json'), format: 'logs' },
170
+ { path: resolve(base, 'fixtures/git/payment-schema-change.json'), format: 'git' }
171
+ ];
172
+ for (const f of fixtures) {
173
+ if (existsSync(f.path) && engine.getFeatureFlags()[f.format === 'openapi' ? 'openapi' : f.format === 'postman' ? 'postman' : f.format === 'logs' ? 'logs' : 'git']) {
174
+ try {
175
+ await engine.load({ type: 'file', path: f.path, format: f.format });
176
+ }
177
+ catch {
178
+ // optional fixtures
179
+ }
180
+ }
181
+ }
182
+ }
183
+ //# sourceMappingURL=tool.registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.registry.js","sourceRoot":"","sources":["../src/tool.registry.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@mytecz/teczflow-mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "TeczFlow MCP Server — Claude-compatible API intelligence",
5
+ "type": "module",
6
+ "bin": {
7
+ "teczflow-mcp": "./dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc -p tsconfig.json",
15
+ "start": "node dist/index.js",
16
+ "prepublishOnly": "npm run build"
17
+ },
18
+ "dependencies": {
19
+ "@modelcontextprotocol/sdk": "^1.12.1",
20
+ "@mytecz/teczflow-core": "^1.0.0",
21
+ "zod": "^3.25.76"
22
+ },
23
+ "devDependencies": {
24
+ "@mytecz/teczflow-core": "*",
25
+ "@types/node": "^22.15.30",
26
+ "typescript": "^5.8.3"
27
+ },
28
+ "publishConfig": {
29
+ "access": "public"
30
+ },
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/kalyanakkondapalli/teczflow.git",
34
+ "directory": "packages/mcp-server"
35
+ },
36
+ "bugs": {
37
+ "url": "https://github.com/kalyanakkondapalli/teczflow/issues"
38
+ },
39
+ "homepage": "https://github.com/kalyanakkondapalli/teczflow#readme",
40
+ "keywords": [
41
+ "teczflow",
42
+ "mcp",
43
+ "claude",
44
+ "api-intelligence",
45
+ "model-context-protocol"
46
+ ],
47
+ "engines": {
48
+ "node": ">=20"
49
+ },
50
+ "license": "MIT"
51
+ }