@agentdiscuss/mcp-server 0.1.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.
Files changed (75) hide show
  1. package/.env.example +4 -0
  2. package/README.md +387 -0
  3. package/dist/agentic-api/client.d.ts +34 -0
  4. package/dist/agentic-api/client.js +143 -0
  5. package/dist/agentic-api/client.js.map +1 -0
  6. package/dist/agentic-api/types.d.ts +125 -0
  7. package/dist/agentic-api/types.js +2 -0
  8. package/dist/agentic-api/types.js.map +1 -0
  9. package/dist/catalog/discovery.d.ts +5 -0
  10. package/dist/catalog/discovery.js +83 -0
  11. package/dist/catalog/discovery.js.map +1 -0
  12. package/dist/config/capabilities.d.ts +4 -0
  13. package/dist/config/capabilities.js +881 -0
  14. package/dist/config/capabilities.js.map +1 -0
  15. package/dist/config/constants.d.ts +13 -0
  16. package/dist/config/constants.js +79 -0
  17. package/dist/config/constants.js.map +1 -0
  18. package/dist/config/domains.d.ts +3 -0
  19. package/dist/config/domains.js +79 -0
  20. package/dist/config/domains.js.map +1 -0
  21. package/dist/config/env.d.ts +8 -0
  22. package/dist/config/env.js +26 -0
  23. package/dist/config/env.js.map +1 -0
  24. package/dist/http/app.d.ts +3 -0
  25. package/dist/http/app.js +81 -0
  26. package/dist/http/app.js.map +1 -0
  27. package/dist/http/routes/capabilities.d.ts +3 -0
  28. package/dist/http/routes/capabilities.js +55 -0
  29. package/dist/http/routes/capabilities.js.map +1 -0
  30. package/dist/http/routes/domains.d.ts +3 -0
  31. package/dist/http/routes/domains.js +17 -0
  32. package/dist/http/routes/domains.js.map +1 -0
  33. package/dist/http/routes/health.d.ts +2 -0
  34. package/dist/http/routes/health.js +15 -0
  35. package/dist/http/routes/health.js.map +1 -0
  36. package/dist/http/routes/manifest.d.ts +3 -0
  37. package/dist/http/routes/manifest.js +16 -0
  38. package/dist/http/routes/manifest.js.map +1 -0
  39. package/dist/http/routes/root.d.ts +3 -0
  40. package/dist/http/routes/root.js +338 -0
  41. package/dist/http/routes/root.js.map +1 -0
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.js +43 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/mcp/server.d.ts +4 -0
  46. package/dist/mcp/server.js +41 -0
  47. package/dist/mcp/server.js.map +1 -0
  48. package/dist/mcp/tool-catalog.d.ts +27 -0
  49. package/dist/mcp/tool-catalog.js +204 -0
  50. package/dist/mcp/tool-catalog.js.map +1 -0
  51. package/dist/mcp/tools/execute-capability.d.ts +3 -0
  52. package/dist/mcp/tools/execute-capability.js +50 -0
  53. package/dist/mcp/tools/execute-capability.js.map +1 -0
  54. package/dist/mcp/tools/generated-capability-tool.d.ts +4 -0
  55. package/dist/mcp/tools/generated-capability-tool.js +51 -0
  56. package/dist/mcp/tools/generated-capability-tool.js.map +1 -0
  57. package/dist/mcp/tools/get-capability-contract.d.ts +3 -0
  58. package/dist/mcp/tools/get-capability-contract.js +20 -0
  59. package/dist/mcp/tools/get-capability-contract.js.map +1 -0
  60. package/dist/mcp/tools/list-capability-tools.d.ts +3 -0
  61. package/dist/mcp/tools/list-capability-tools.js +36 -0
  62. package/dist/mcp/tools/list-capability-tools.js.map +1 -0
  63. package/dist/mcp/tools/list-domains.d.ts +3 -0
  64. package/dist/mcp/tools/list-domains.js +24 -0
  65. package/dist/mcp/tools/list-domains.js.map +1 -0
  66. package/dist/mcp/tools/recommend-capability-route.d.ts +3 -0
  67. package/dist/mcp/tools/recommend-capability-route.js +50 -0
  68. package/dist/mcp/tools/recommend-capability-route.js.map +1 -0
  69. package/dist/mcp/tools/schemas.d.ts +56 -0
  70. package/dist/mcp/tools/schemas.js +141 -0
  71. package/dist/mcp/tools/schemas.js.map +1 -0
  72. package/dist/mcp/tools/utils.d.ts +58 -0
  73. package/dist/mcp/tools/utils.js +194 -0
  74. package/dist/mcp/tools/utils.js.map +1 -0
  75. package/package.json +49 -0
@@ -0,0 +1,194 @@
1
+ import { AgenticApiClient, AgenticApiClientError, } from "../../agentic-api/client.js";
2
+ export function toToolSuccess(payload) {
3
+ return {
4
+ content: [
5
+ {
6
+ type: "text",
7
+ text: JSON.stringify(payload, null, 2),
8
+ },
9
+ ],
10
+ structuredContent: payload,
11
+ };
12
+ }
13
+ export function toToolError(error) {
14
+ const payload = serializeToolError(error);
15
+ return {
16
+ content: [
17
+ {
18
+ type: "text",
19
+ text: JSON.stringify(payload, null, 2),
20
+ },
21
+ ],
22
+ structuredContent: payload,
23
+ isError: true,
24
+ };
25
+ }
26
+ export async function toCapabilityToolError(error, context) {
27
+ const contract = context.contract ??
28
+ (await safeGetCapabilityContract(context.client, context.domain, context.capability));
29
+ const operationContract = context.operationContract ??
30
+ (contract ? selectOperationContract(contract, context.operation) : null);
31
+ const payload = buildContractAwarePayload(serializeToolError(error), context, contract, operationContract);
32
+ const inspectorPayloadHint = inferInspectorPayloadHint(error, context.payload);
33
+ if (inspectorPayloadHint) {
34
+ payload.inspectorPayloadHint = inspectorPayloadHint;
35
+ }
36
+ return {
37
+ content: [
38
+ {
39
+ type: "text",
40
+ text: JSON.stringify(payload, null, 2),
41
+ },
42
+ ],
43
+ structuredContent: payload,
44
+ isError: true,
45
+ };
46
+ }
47
+ export async function loadCapabilityOperationContext(client, domain, capability, operation) {
48
+ const contract = await safeGetCapabilityContract(client, domain, capability);
49
+ return {
50
+ contract,
51
+ operationContract: contract
52
+ ? selectOperationContract(contract, operation)
53
+ : null,
54
+ };
55
+ }
56
+ export function toCapabilityPreflightError(context) {
57
+ const payload = buildContractAwarePayload({
58
+ error: `Missing required field${context.missingRequiredFields.length === 1 ? "" : "s"} for ${context.domain}.${context.capability} ${context.operation}: ${context.missingRequiredFields.join(", ")}.`,
59
+ code: "MISSING_REQUIRED_FIELDS",
60
+ hint: "Call get_capability_contract for the full request shape before retrying.",
61
+ status: 400,
62
+ upstream: false,
63
+ details: {
64
+ reason: "Required upstream request fields are missing.",
65
+ missingRequiredFields: context.missingRequiredFields,
66
+ },
67
+ }, context, context.contract ?? null, context.operationContract ?? null);
68
+ const inspectorPayloadHint = inferInspectorPayloadHint(null, context.payload);
69
+ if (inspectorPayloadHint) {
70
+ payload.inspectorPayloadHint = inspectorPayloadHint;
71
+ }
72
+ return {
73
+ content: [
74
+ {
75
+ type: "text",
76
+ text: JSON.stringify(payload, null, 2),
77
+ },
78
+ ],
79
+ structuredContent: payload,
80
+ isError: true,
81
+ };
82
+ }
83
+ function serializeToolError(error) {
84
+ if (error instanceof AgenticApiClientError) {
85
+ return {
86
+ error: error.message,
87
+ code: error.code,
88
+ hint: error.hint,
89
+ status: error.status,
90
+ details: error.details,
91
+ upstream: error.isUpstream,
92
+ };
93
+ }
94
+ return {
95
+ error: error instanceof Error ? error.message : String(error),
96
+ code: "TOOL_EXECUTION_FAILED",
97
+ status: 500,
98
+ };
99
+ }
100
+ function buildContractAwarePayload(basePayload, context, contract, operationContract) {
101
+ const payload = {
102
+ ...basePayload,
103
+ domain: context.domain,
104
+ capability: context.capability,
105
+ operation: context.operation,
106
+ suggestedNextTool: "get_capability_contract",
107
+ contractLookup: {
108
+ tool: "get_capability_contract",
109
+ arguments: {
110
+ domain: context.domain,
111
+ capabilityId: context.capability,
112
+ },
113
+ },
114
+ };
115
+ if (contract) {
116
+ payload.docsUrl = contract.docsUrl;
117
+ payload.contractStatus = contract.contractStatus;
118
+ }
119
+ if (operationContract) {
120
+ payload.requestContract = {
121
+ status: operationContract.status,
122
+ dtoName: operationContract.dtoName,
123
+ requiredFields: operationContract.requiredFields,
124
+ optionalFields: operationContract.optionalFields,
125
+ conditionallyRequiredFields: operationContract.conditionallyRequiredFields,
126
+ requestExample: operationContract.requestExample,
127
+ };
128
+ const missingRequiredFields = findMissingRequiredFields(operationContract, context.payload);
129
+ if (missingRequiredFields.length > 0) {
130
+ payload.missingRequiredFields = missingRequiredFields;
131
+ }
132
+ }
133
+ return payload;
134
+ }
135
+ async function safeGetCapabilityContract(client, domain, capability) {
136
+ try {
137
+ return await client.getCapabilityContract(domain, capability);
138
+ }
139
+ catch {
140
+ return null;
141
+ }
142
+ }
143
+ function selectOperationContract(contract, operation) {
144
+ return operation === "recommend" ? contract.recommend : contract.execute;
145
+ }
146
+ function findMissingRequiredFields(contract, payload) {
147
+ const requestPayload = payload ?? {};
148
+ return contract.requiredFields.filter((field) => {
149
+ const value = requestPayload[field];
150
+ if (typeof value === "string") {
151
+ return value.trim().length === 0;
152
+ }
153
+ return value === undefined || value === null;
154
+ });
155
+ }
156
+ function inferInspectorPayloadHint(error, payload) {
157
+ if (looksLikeWrappedPayload(payload)) {
158
+ return "Put domain and capabilityId in their top-level tool fields. In input, send only the inner upstream request body.";
159
+ }
160
+ if (!(error instanceof AgenticApiClientError)) {
161
+ return null;
162
+ }
163
+ const messages = extractDetailMessages(error.details);
164
+ if (messages.some((message) => /property domain should not exist/i.test(message)) ||
165
+ messages.some((message) => /property capability(Id)? should not exist/i.test(message)) ||
166
+ messages.some((message) => /property (payload|input) should not exist/i.test(message))) {
167
+ return "Put domain and capabilityId in their top-level tool fields. In input, send only the inner upstream request body.";
168
+ }
169
+ return null;
170
+ }
171
+ function looksLikeWrappedPayload(payload) {
172
+ if (!payload) {
173
+ return false;
174
+ }
175
+ return (Object.prototype.hasOwnProperty.call(payload, "domain") &&
176
+ (Object.prototype.hasOwnProperty.call(payload, "capability") ||
177
+ Object.prototype.hasOwnProperty.call(payload, "capabilityId")) &&
178
+ (Object.prototype.hasOwnProperty.call(payload, "payload") ||
179
+ Object.prototype.hasOwnProperty.call(payload, "input")));
180
+ }
181
+ function extractDetailMessages(details) {
182
+ if (!details || typeof details !== "object" || Array.isArray(details)) {
183
+ return [];
184
+ }
185
+ const message = details.message;
186
+ if (Array.isArray(message)) {
187
+ return message.filter((item) => typeof item === "string");
188
+ }
189
+ if (typeof message === "string") {
190
+ return [message];
191
+ }
192
+ return [];
193
+ }
194
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/mcp/tools/utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@agentdiscuss/mcp-server",
3
+ "version": "0.1.0",
4
+ "description": "Local stdio fallback package for AgentDiscuss MCP",
5
+ "type": "module",
6
+ "bin": {
7
+ "agentdiscuss": "dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "files": [
12
+ "dist",
13
+ "README.md",
14
+ ".env.example"
15
+ ],
16
+ "engines": {
17
+ "node": ">=20.0.0"
18
+ },
19
+ "scripts": {
20
+ "build": "rm -rf dist && tsc -p tsconfig.json",
21
+ "check": "tsc --noEmit -p tsconfig.json",
22
+ "dev:http": "tsx watch src/index.ts http",
23
+ "dev:mcp": "tsx watch src/index.ts",
24
+ "smoke": "npm run build && node --test test/smoke.test.mjs",
25
+ "start": "node dist/index.js http",
26
+ "start:http": "node dist/index.js http",
27
+ "start:mcp": "node dist/index.js"
28
+ },
29
+ "keywords": [
30
+ "agentdiscuss",
31
+ "mcp",
32
+ "model-context-protocol",
33
+ "agentic-api",
34
+ "stdio"
35
+ ],
36
+ "license": "MIT",
37
+ "dependencies": {
38
+ "@modelcontextprotocol/sdk": "^1.29.0",
39
+ "dotenv": "^17.4.2",
40
+ "express": "^5.2.1",
41
+ "zod": "^4.3.6"
42
+ },
43
+ "devDependencies": {
44
+ "@types/express": "^5.0.6",
45
+ "@types/node": "^25.6.0",
46
+ "tsx": "^4.21.0",
47
+ "typescript": "^6.0.2"
48
+ }
49
+ }