@manhq/localmcp 1.0.0 → 1.0.2

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 (80) hide show
  1. package/README.md +177 -66
  2. package/README.vi.md +176 -65
  3. package/dist/api/openapi.d.ts +21 -0
  4. package/dist/api/openapi.d.ts.map +1 -0
  5. package/dist/api/openapi.js +74 -0
  6. package/dist/api/openapi.js.map +1 -0
  7. package/dist/api/playground.d.ts +2 -0
  8. package/dist/api/playground.d.ts.map +1 -0
  9. package/dist/api/playground.js +24 -0
  10. package/dist/api/playground.js.map +1 -0
  11. package/dist/api/registry.d.ts +19 -0
  12. package/dist/api/registry.d.ts.map +1 -0
  13. package/dist/api/registry.js +20 -0
  14. package/dist/api/registry.js.map +1 -0
  15. package/dist/api/rest.d.ts +3 -0
  16. package/dist/api/rest.d.ts.map +1 -0
  17. package/dist/api/rest.js +84 -0
  18. package/dist/api/rest.js.map +1 -0
  19. package/dist/api/server-with-registry.d.ts +8 -0
  20. package/dist/api/server-with-registry.d.ts.map +1 -0
  21. package/dist/api/server-with-registry.js +43 -0
  22. package/dist/api/server-with-registry.js.map +1 -0
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +82 -19
  25. package/dist/cli.js.map +1 -1
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +125 -48
  29. package/dist/index.js.map +1 -1
  30. package/dist/services/atlassian/index.d.ts +1 -1
  31. package/dist/services/atlassian/index.d.ts.map +1 -1
  32. package/dist/services/atlassian/index.js +3 -3
  33. package/dist/services/atlassian/index.js.map +1 -1
  34. package/dist/services/atlassian/tools/confluence.d.ts +1 -1
  35. package/dist/services/atlassian/tools/confluence.d.ts.map +1 -1
  36. package/dist/services/atlassian/tools/confluence.js +14 -13
  37. package/dist/services/atlassian/tools/confluence.js.map +1 -1
  38. package/dist/services/atlassian/tools/jira.d.ts +1 -1
  39. package/dist/services/atlassian/tools/jira.d.ts.map +1 -1
  40. package/dist/services/atlassian/tools/jira.js +16 -15
  41. package/dist/services/atlassian/tools/jira.js.map +1 -1
  42. package/dist/services/figma/index.d.ts +1 -1
  43. package/dist/services/figma/index.d.ts.map +1 -1
  44. package/dist/services/figma/index.js +6 -6
  45. package/dist/services/figma/index.js.map +1 -1
  46. package/dist/services/figma/tools/comments.d.ts +1 -1
  47. package/dist/services/figma/tools/comments.d.ts.map +1 -1
  48. package/dist/services/figma/tools/comments.js +4 -3
  49. package/dist/services/figma/tools/comments.js.map +1 -1
  50. package/dist/services/figma/tools/components.d.ts +1 -1
  51. package/dist/services/figma/tools/components.d.ts.map +1 -1
  52. package/dist/services/figma/tools/components.js +7 -6
  53. package/dist/services/figma/tools/components.js.map +1 -1
  54. package/dist/services/figma/tools/files.d.ts +1 -1
  55. package/dist/services/figma/tools/files.d.ts.map +1 -1
  56. package/dist/services/figma/tools/files.js +4 -3
  57. package/dist/services/figma/tools/files.js.map +1 -1
  58. package/dist/services/figma/tools/images.d.ts +1 -1
  59. package/dist/services/figma/tools/images.d.ts.map +1 -1
  60. package/dist/services/figma/tools/images.js +4 -3
  61. package/dist/services/figma/tools/images.js.map +1 -1
  62. package/dist/services/figma/tools/variables.d.ts +1 -1
  63. package/dist/services/figma/tools/variables.d.ts.map +1 -1
  64. package/dist/services/figma/tools/variables.js +4 -3
  65. package/dist/services/figma/tools/variables.js.map +1 -1
  66. package/dist/services/google-chat/index.d.ts +1 -1
  67. package/dist/services/google-chat/index.d.ts.map +1 -1
  68. package/dist/services/google-chat/index.js +2 -2
  69. package/dist/services/google-chat/index.js.map +1 -1
  70. package/dist/services/google-chat/tools/messages.d.ts +1 -1
  71. package/dist/services/google-chat/tools/messages.d.ts.map +1 -1
  72. package/dist/services/google-chat/tools/messages.js +6 -5
  73. package/dist/services/google-chat/tools/messages.js.map +1 -1
  74. package/docs/atlassian.md +145 -6
  75. package/docs/figma.md +145 -6
  76. package/docs/google-chat.md +145 -6
  77. package/docs/vi/atlassian.md +145 -6
  78. package/docs/vi/figma.md +145 -6
  79. package/docs/vi/google-chat.md +145 -6
  80. package/package.json +5 -3
package/dist/index.js CHANGED
@@ -1,87 +1,147 @@
1
1
  import express from "express";
2
- import { randomUUID } from "node:crypto";
3
2
  import { fileURLToPath } from "node:url";
4
3
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
4
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
5
+ import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
6
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
6
7
  import { env } from "./shared/env.js";
7
8
  import { registerFigmaTools } from "./services/figma/index.js";
8
9
  import { registerAtlassianTools } from "./services/atlassian/index.js";
9
10
  import { registerGChatTools } from "./services/google-chat/index.js";
11
+ import { createMcpServerWithRegistry } from "./api/server-with-registry.js";
12
+ import { mountRestApi } from "./api/rest.js";
10
13
  const SERVICE_REGISTRY = {
11
- figma: { register: registerFigmaTools, enabled: !!env.figma },
12
- atlassian: { register: registerAtlassianTools, enabled: !!env.atlassian },
13
- "google-chat": { register: registerGChatTools, enabled: !!env.gchat },
14
+ figma: { register: registerFigmaTools, combinedPrefix: "figma", enabled: !!env.figma },
15
+ atlassian: { register: registerAtlassianTools, combinedPrefix: "atlassian", enabled: !!env.atlassian },
16
+ "google-chat": { register: registerGChatTools, combinedPrefix: "gchat", enabled: !!env.gchat },
14
17
  };
15
18
  const activeServices = Object.entries(SERVICE_REGISTRY)
16
19
  .filter(([, s]) => s.enabled)
17
20
  .map(([name]) => name);
21
+ // Populates REST registry AND returns a connected McpServer — used for warm-up and stdio.
18
22
  function createServiceServer(name) {
23
+ const server = createMcpServerWithRegistry(name, { name, version: "1.0.0" });
24
+ SERVICE_REGISTRY[name].register(server);
25
+ return server;
26
+ }
27
+ // Returns a plain McpServer without touching the REST registry — used per HTTP request
28
+ // so the global registry is not re-populated on every MCP call.
29
+ function createServiceServerOnly(name) {
19
30
  const server = new McpServer({ name, version: "1.0.0" });
20
31
  SERVICE_REGISTRY[name].register(server);
21
32
  return server;
22
33
  }
23
- function mountMcpHandler(app, path, getTransports, makeServer) {
24
- app.all(path, async (req, res) => {
34
+ function mountMcpHandler(app, path, makeServer) {
35
+ // POST: stateless JSON-RPC handler — each request is a self-contained cycle.
36
+ // sessionIdGenerator=undefined tells the SDK not to issue Mcp-Session-Id,
37
+ // which is required for clients like Claude Code that don't persist session headers.
38
+ app.post(path, async (req, res) => {
25
39
  try {
26
- const sessionId = req.headers["mcp-session-id"];
27
- const transports = getTransports();
28
- if (sessionId && transports.has(sessionId)) {
29
- await transports.get(sessionId).handleRequest(req, res, req.body);
30
- return;
31
- }
32
- if (req.method === "POST" && !sessionId) {
33
- const transport = new StreamableHTTPServerTransport({
34
- sessionIdGenerator: () => randomUUID(),
35
- onsessioninitialized: (sid) => {
36
- transports.set(sid, transport);
37
- },
38
- });
39
- transport.onclose = () => {
40
- if (transport.sessionId)
41
- transports.delete(transport.sessionId);
42
- };
43
- await makeServer().connect(transport);
44
- await transport.handleRequest(req, res, req.body);
45
- return;
46
- }
47
- res.status(400).json({ error: "Bad request" });
40
+ const transport = new StreamableHTTPServerTransport({
41
+ sessionIdGenerator: undefined,
42
+ });
43
+ await makeServer().connect(transport);
44
+ await transport.handleRequest(req, res, req.body);
48
45
  }
49
46
  catch (err) {
50
- console.error(`[${path}] Error:`, err);
47
+ console.error(`[${path}] POST error:`, err);
51
48
  if (!res.headersSent)
52
49
  res.status(500).json({ error: "Internal server error" });
53
50
  }
54
51
  });
52
+ // GET: spec requires 200+SSE or 405. Stateless servers don't push server-initiated
53
+ // messages, so we return 405 rather than 404 — clients treat 404 as "not found"
54
+ // and may abort entirely, while 405 signals "endpoint exists, feature unsupported".
55
+ app.get(path, (_req, res) => {
56
+ res.status(405).set("Allow", "POST").json({ error: "Method Not Allowed" });
57
+ });
58
+ // DELETE: clients (Cursor, Windsurf, Claude Desktop) send DELETE to close sessions.
59
+ // We have no sessions to delete, so 405 is the correct spec-compliant response.
60
+ app.delete(path, (_req, res) => {
61
+ res.status(405).set("Allow", "POST").json({ error: "Method Not Allowed" });
62
+ });
63
+ }
64
+ // Legacy SSE transport (MCP spec 2024-11-05) for older clients.
65
+ // Clients connecting via old transport do GET /sse → open SSE stream,
66
+ // then POST /messages?sessionId=... → send JSON-RPC messages.
67
+ function mountLegacySseHandler(app, ssePath, postPath, makeServer) {
68
+ const sessions = new Map();
69
+ app.get(ssePath, async (req, res) => {
70
+ try {
71
+ const transport = new SSEServerTransport(`${postPath}`, res);
72
+ sessions.set(transport.sessionId, transport);
73
+ transport.onclose = () => sessions.delete(transport.sessionId);
74
+ await makeServer().connect(transport);
75
+ await transport.start();
76
+ }
77
+ catch (err) {
78
+ console.error(`[${ssePath}] SSE error:`, err);
79
+ if (!res.headersSent)
80
+ res.status(500).json({ error: "Internal server error" });
81
+ }
82
+ });
83
+ app.post(postPath, async (req, res) => {
84
+ const sessionId = req.query["sessionId"];
85
+ const transport = sessionId ? sessions.get(sessionId) : undefined;
86
+ if (!transport) {
87
+ res.status(400).json({ error: "Unknown or missing sessionId" });
88
+ return;
89
+ }
90
+ await transport.handlePostMessage(req, res, req.body);
91
+ });
92
+ }
93
+ function makeCombinedServer() {
94
+ const server = new McpServer({ name: "localmcp", version: "1.0.0" });
95
+ for (const name of activeServices) {
96
+ const svc = SERVICE_REGISTRY[name];
97
+ // Combined path: pass prefix so tools are namespaced by service
98
+ svc.register(server, svc.combinedPrefix);
99
+ }
100
+ return server;
55
101
  }
56
102
  export function createApp() {
57
103
  const app = express();
58
104
  app.use(express.json());
59
- // One transport map per service path
60
- const transportsByService = new Map();
105
+ // Warm up registry by creating all service servers once (no transport needed)
61
106
  for (const name of activeServices) {
62
- transportsByService.set(name, new Map());
107
+ createServiceServer(name);
63
108
  }
64
- // Per-service endpoints: /mcp/figma, /mcp/atlassian, /mcp/google-chat
109
+ // Streamable HTTP combined
110
+ mountMcpHandler(app, "/mcp", makeCombinedServer);
111
+ // Streamable HTTP — per-service: /mcp/figma, /mcp/atlassian, /mcp/google-chat
65
112
  for (const name of activeServices) {
66
113
  const service = name;
67
- mountMcpHandler(app, `/mcp/${service}`, () => transportsByService.get(service), () => createServiceServer(service));
114
+ mountMcpHandler(app, `/mcp/${service}`, () => createServiceServerOnly(service));
68
115
  }
69
- // Combined endpoint /mcpall active services in one server
70
- const combinedTransports = new Map();
71
- mountMcpHandler(app, "/mcp", () => combinedTransports, () => {
72
- const server = new McpServer({ name: "localmcp", version: "1.0.0" });
73
- for (const name of activeServices) {
74
- SERVICE_REGISTRY[name].register(server);
75
- }
76
- return server;
77
- });
116
+ // Legacy SSE (2024-11-05)combined: GET /sse → POST /messages?sessionId=...
117
+ mountLegacySseHandler(app, "/sse", "/messages", makeCombinedServer);
118
+ // Legacy SSE per-service: GET /sse/:service → POST /messages/:service?sessionId=...
119
+ for (const name of activeServices) {
120
+ const service = name;
121
+ mountLegacySseHandler(app, `/sse/${service}`, `/messages/${service}`, () => createServiceServerOnly(service));
122
+ }
123
+ // REST API + Playground
124
+ mountRestApi(app);
78
125
  app.get("/health", (_req, res) => {
79
126
  res.json({
80
127
  status: "ok",
81
128
  services: activeServices,
82
129
  endpoints: {
83
- combined: `/mcp`,
84
- ...Object.fromEntries(activeServices.map((s) => [s, `/mcp/${s}`])),
130
+ streamableHttp: {
131
+ combined: "/mcp",
132
+ ...Object.fromEntries(activeServices.map((s) => [s, `/mcp/${s}`])),
133
+ },
134
+ legacySse: {
135
+ combined: "/sse",
136
+ ...Object.fromEntries(activeServices.map((s) => [s, `/sse/${s}`])),
137
+ },
138
+ rest: {
139
+ index: "/api",
140
+ service: "/api/:service",
141
+ call: "/api/:service/:tool",
142
+ spec: "/api/openapi.json",
143
+ playground: "/playground",
144
+ },
85
145
  },
86
146
  });
87
147
  });
@@ -89,13 +149,30 @@ export function createApp() {
89
149
  }
90
150
  export function startServer() {
91
151
  createApp().listen(env.PORT, () => {
92
- console.log(`Local MCP server running at http://localhost:${env.PORT}`);
93
- console.log(`Combined endpoint : http://localhost:${env.PORT}/mcp`);
152
+ const base = `http://localhost:${env.PORT}`;
153
+ const cliPath = fileURLToPath(new URL("cli.js", import.meta.url));
154
+ const stdioCmd = `${process.execPath} ${cliPath} stdio`;
155
+ console.log(`Local MCP server running at ${base}`);
156
+ console.log(``);
157
+ console.log(` Streamable HTTP : ${base}/mcp`);
158
+ console.log(` Legacy SSE : ${base}/sse`);
94
159
  for (const s of activeServices) {
95
- console.log(` /mcp/${s.padEnd(12)}: http://localhost:${env.PORT}/mcp/${s}`);
160
+ console.log(` [${s}] ${base}/mcp/${s} | ${base}/sse/${s}`);
161
+ }
162
+ console.log(` REST API : ${base}/api`);
163
+ console.log(` Playground : ${base}/playground`);
164
+ console.log(``);
165
+ console.log(` stdio command : ${stdioCmd}`);
166
+ for (const s of activeServices) {
167
+ console.log(` stdio [${s}] : ${process.execPath} ${cliPath} stdio ${s}`);
96
168
  }
97
169
  });
98
170
  }
171
+ export async function startStdio(service) {
172
+ const server = service ? createServiceServer(service) : makeCombinedServer();
173
+ const transport = new StdioServerTransport();
174
+ await server.connect(transport);
175
+ }
99
176
  if (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) {
100
177
  startServer();
101
178
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAOrE,MAAM,gBAAgB,GAAoC;IACxD,KAAK,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;IAC7D,SAAS,EAAE,EAAE,QAAQ,EAAE,sBAAsB,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE;IACzE,aAAa,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;CACtE,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;KACpD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KAC5B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAEzB,SAAS,mBAAmB,CAAC,IAAiB;IAC5C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,GAAoB,EACpB,IAAY,EACZ,aAA+D,EAC/D,UAA2B;IAE3B,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;YACtE,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;YAEnC,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,MAAM,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;oBAClD,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;oBACtC,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE;wBAC5B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACjC,CAAC;iBACF,CAAC,CAAC;gBAEH,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;oBACvB,IAAI,SAAS,CAAC,SAAS;wBAAE,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAClE,CAAC,CAAC;gBAEF,MAAM,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACtC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,UAAU,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,WAAW;gBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,qCAAqC;IACrC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2D,CAAC;IAC/F,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,mBAAmB,CAAC,GAAG,CAAC,IAAmB,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,sEAAsE;IACtE,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAmB,CAAC;QACpC,eAAe,CACb,GAAG,EACH,QAAQ,OAAO,EAAE,EACjB,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAE,EACvC,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CACnC,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyC,CAAC;IAC5E,eAAe,CACb,GAAG,EACH,MAAM,EACN,GAAG,EAAE,CAAC,kBAAkB,EACxB,GAAG,EAAE;QACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAClC,gBAAgB,CAAC,IAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;IAEF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE;gBACT,QAAQ,EAAE,MAAM;gBAChB,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;aACnE;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,SAAS,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;QAChC,OAAO,CAAC,GAAG,CAAC,gDAAgD,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;QACpE,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,GAAG,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,WAAW,EAAE,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAQ7C,MAAM,gBAAgB,GAAoC;IACxD,KAAK,EAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAK,cAAc,EAAE,OAAO,EAAK,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;IACnG,SAAS,EAAK,EAAE,QAAQ,EAAE,sBAAsB,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE;IACzG,aAAa,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAI,cAAc,EAAE,OAAO,EAAK,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;CACpG,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;KACpD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;KAC5B,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAEzB,0FAA0F;AAC1F,SAAS,mBAAmB,CAAC,IAAiB;IAC5C,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7E,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uFAAuF;AACvF,gEAAgE;AAChE,SAAS,uBAAuB,CAAC,IAAiB;IAChD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CACtB,GAAoB,EACpB,IAAY,EACZ,UAA2B;IAE3B,6EAA6E;IAC7E,0EAA0E;IAC1E,qFAAqF;IACrF,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;gBAClD,kBAAkB,EAAE,SAAS;aAC9B,CAAC,CAAC;YACH,MAAM,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,eAAe,EAAE,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,WAAW;gBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mFAAmF;IACnF,gFAAgF;IAChF,oFAAoF;IACpF,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC1B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,oFAAoF;IACpF,gFAAgF;IAChF,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gEAAgE;AAChE,sEAAsE;AACtE,8DAA8D;AAC9D,SAAS,qBAAqB,CAC5B,GAAoB,EACpB,OAAe,EACf,QAAgB,EAChB,UAA2B;IAE3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAEvD,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,GAAG,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YAC7D,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7C,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE/D,MAAM,UAAU,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,cAAc,EAAE,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,WAAW;gBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAuB,CAAC;QAC/D,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,MAAM,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACrE,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAmB,CAAC,CAAC;QAClD,gEAAgE;QAChE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAExB,8EAA8E;IAC9E,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,mBAAmB,CAAC,IAAmB,CAAC,CAAC;IAC3C,CAAC;IAED,6BAA6B;IAC7B,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAEjD,8EAA8E;IAC9E,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAmB,CAAC;QACpC,eAAe,CAAC,GAAG,EAAE,QAAQ,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,gFAAgF;IAChF,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAEpE,wFAAwF;IACxF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAmB,CAAC;QACpC,qBAAqB,CACnB,GAAG,EACH,QAAQ,OAAO,EAAE,EACjB,aAAa,OAAO,EAAE,EACtB,GAAG,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,YAAY,CAAC,GAAG,CAAC,CAAC;IAElB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC/B,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE;gBACT,cAAc,EAAE;oBACd,QAAQ,EAAE,MAAM;oBAChB,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;iBACnE;gBACD,SAAS,EAAE;oBACT,QAAQ,EAAE,MAAM;oBAChB,GAAG,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;iBACnE;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,eAAe;oBACxB,IAAI,EAAE,qBAAqB;oBAC3B,IAAI,EAAE,mBAAmB;oBACzB,UAAU,EAAE,aAAa;iBAC1B;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,SAAS,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE;QAChC,MAAM,IAAI,GAAG,oBAAoB,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC;QAExD,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,MAAM,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,aAAa,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,OAAO,CAAC,QAAQ,IAAI,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAqB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,WAAW,EAAE,CAAC;AAChB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerAtlassianTools(server: McpServer): void;
2
+ export declare function registerAtlassianTools(server: McpServer, prefix?: string): void;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/atlassian/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAG9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/atlassian/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAG/E"}
@@ -1,7 +1,7 @@
1
1
  import { registerJiraTools } from "./tools/jira.js";
2
2
  import { registerConfluenceTools } from "./tools/confluence.js";
3
- export function registerAtlassianTools(server) {
4
- registerJiraTools(server);
5
- registerConfluenceTools(server);
3
+ export function registerAtlassianTools(server, prefix) {
4
+ registerJiraTools(server, prefix);
5
+ registerConfluenceTools(server, prefix);
6
6
  }
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/atlassian/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/atlassian/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAe;IACvE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerConfluenceTools(server: McpServer): void;
2
+ export declare function registerConfluenceTools(server: McpServer, prefix?: string): void;
3
3
  //# sourceMappingURL=confluence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confluence.d.ts","sourceRoot":"","sources":["../../../../src/services/atlassian/tools/confluence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqP/D"}
1
+ {"version":3,"file":"confluence.d.ts","sourceRoot":"","sources":["../../../../src/services/atlassian/tools/confluence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAuPhF"}
@@ -2,8 +2,9 @@ import { z } from "zod";
2
2
  import { getConfluenceClient } from "../client.js";
3
3
  import { handleToolError } from "../../../shared/errors.js";
4
4
  import { toTextResponse } from "../../../shared/response.js";
5
- export function registerConfluenceTools(server) {
6
- server.registerTool("getConfluencePage", {
5
+ export function registerConfluenceTools(server, prefix) {
6
+ const p = (name) => (prefix ? `${prefix}_${name}` : name);
7
+ server.registerTool(p("getConfluencePage"), {
7
8
  description: "Fetch a Confluence page or live document by ID. Returns title, space, version, and body content.",
8
9
  inputSchema: z.object({
9
10
  pageId: z.string().describe("Confluence page ID"),
@@ -19,7 +20,7 @@ export function registerConfluenceTools(server) {
19
20
  return handleToolError(error);
20
21
  }
21
22
  });
22
- server.registerTool("getConfluencePageDescendants", {
23
+ server.registerTool(p("getConfluencePageDescendants"), {
23
24
  description: "List child pages under a Confluence parent page.",
24
25
  inputSchema: z.object({
25
26
  pageId: z.string().describe("Parent page ID"),
@@ -36,7 +37,7 @@ export function registerConfluenceTools(server) {
36
37
  return handleToolError(error);
37
38
  }
38
39
  });
39
- server.registerTool("getConfluencePageFooterComments", {
40
+ server.registerTool(p("getConfluencePageFooterComments"), {
40
41
  description: "Retrieve footer-level comments on a Confluence page.",
41
42
  inputSchema: z.object({
42
43
  pageId: z.string().describe("Page ID"),
@@ -50,7 +51,7 @@ export function registerConfluenceTools(server) {
50
51
  return handleToolError(error);
51
52
  }
52
53
  });
53
- server.registerTool("getConfluencePageInlineComments", {
54
+ server.registerTool(p("getConfluencePageInlineComments"), {
54
55
  description: "Get inline comments tied to specific text in a Confluence page.",
55
56
  inputSchema: z.object({
56
57
  pageId: z.string().describe("Page ID"),
@@ -64,7 +65,7 @@ export function registerConfluenceTools(server) {
64
65
  return handleToolError(error);
65
66
  }
66
67
  });
67
- server.registerTool("getConfluenceCommentChildren", {
68
+ server.registerTool(p("getConfluenceCommentChildren"), {
68
69
  description: "View reply threads to a Confluence comment.",
69
70
  inputSchema: z.object({
70
71
  commentId: z.string().describe("Comment ID"),
@@ -78,7 +79,7 @@ export function registerConfluenceTools(server) {
78
79
  return handleToolError(error);
79
80
  }
80
81
  });
81
- server.registerTool("getConfluenceSpaces", {
82
+ server.registerTool(p("getConfluenceSpaces"), {
82
83
  description: "List all Confluence spaces the current user has access to.",
83
84
  inputSchema: z.object({
84
85
  limit: z.number().int().min(1).max(100).default(25).describe("Max results (default 25)"),
@@ -94,7 +95,7 @@ export function registerConfluenceTools(server) {
94
95
  return handleToolError(error);
95
96
  }
96
97
  });
97
- server.registerTool("getPagesInConfluenceSpace", {
98
+ server.registerTool(p("getPagesInConfluenceSpace"), {
98
99
  description: "Enumerate pages within a Confluence space.",
99
100
  inputSchema: z.object({
100
101
  spaceId: z.string().describe("Space ID"),
@@ -109,7 +110,7 @@ export function registerConfluenceTools(server) {
109
110
  return handleToolError(error);
110
111
  }
111
112
  });
112
- server.registerTool("createConfluencePage", {
113
+ server.registerTool(p("createConfluencePage"), {
113
114
  description: "Create a new Confluence page in a space.",
114
115
  inputSchema: z.object({
115
116
  spaceId: z.string().describe("Space ID to create the page in"),
@@ -133,7 +134,7 @@ export function registerConfluenceTools(server) {
133
134
  return handleToolError(error);
134
135
  }
135
136
  });
136
- server.registerTool("updateConfluencePage", {
137
+ server.registerTool(p("updateConfluencePage"), {
137
138
  description: "Edit the content or title of an existing Confluence page. Requires the current version number.",
138
139
  inputSchema: z.object({
139
140
  pageId: z.string().describe("Page ID"),
@@ -155,7 +156,7 @@ export function registerConfluenceTools(server) {
155
156
  return handleToolError(error);
156
157
  }
157
158
  });
158
- server.registerTool("createConfluenceFooterComment", {
159
+ server.registerTool(p("createConfluenceFooterComment"), {
159
160
  description: "Add a footer comment to a Confluence page, or reply to an existing footer comment.",
160
161
  inputSchema: z.object({
161
162
  pageId: z.string().describe("Page ID"),
@@ -177,7 +178,7 @@ export function registerConfluenceTools(server) {
177
178
  return handleToolError(error);
178
179
  }
179
180
  });
180
- server.registerTool("createConfluenceInlineComment", {
181
+ server.registerTool(p("createConfluenceInlineComment"), {
181
182
  description: "Create a text-anchored inline comment on a Confluence page.",
182
183
  inputSchema: z.object({
183
184
  pageId: z.string().describe("Page ID"),
@@ -201,7 +202,7 @@ export function registerConfluenceTools(server) {
201
202
  return handleToolError(error);
202
203
  }
203
204
  });
204
- server.registerTool("searchConfluenceUsingCql", {
205
+ server.registerTool(p("searchConfluenceUsingCql"), {
205
206
  description: "Search Confluence content using CQL (Confluence Query Language). Example: 'space = \"DEV\" AND title ~ \"API\"'.",
206
207
  inputSchema: z.object({
207
208
  cql: z.string().describe("CQL query string"),
@@ -1 +1 @@
1
- {"version":3,"file":"confluence.js","sourceRoot":"","sources":["../../../../src/services/atlassian/tools/confluence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confluence.js","sourceRoot":"","sources":["../../../../src/services/atlassian/tools/confluence.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
- export declare function registerJiraTools(server: McpServer): void;
2
+ export declare function registerJiraTools(server: McpServer, prefix?: string): void;
3
3
  //# sourceMappingURL=jira.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jira.d.ts","sourceRoot":"","sources":["../../../../src/services/atlassian/tools/jira.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmSzD"}
1
+ {"version":3,"file":"jira.d.ts","sourceRoot":"","sources":["../../../../src/services/atlassian/tools/jira.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAqS1E"}
@@ -2,8 +2,9 @@ import { z } from "zod";
2
2
  import { getJiraClient } from "../client.js";
3
3
  import { handleToolError } from "../../../shared/errors.js";
4
4
  import { toTextResponse } from "../../../shared/response.js";
5
- export function registerJiraTools(server) {
6
- server.registerTool("getJiraIssue", {
5
+ export function registerJiraTools(server, prefix) {
6
+ const p = (name) => (prefix ? `${prefix}_${name}` : name);
7
+ server.registerTool(p("getJiraIssue"), {
7
8
  description: "Retrieve a Jira issue by its ID or key (e.g. PROJECT-123). Returns summary, status, assignee, priority, and description.",
8
9
  inputSchema: z.object({
9
10
  issueIdOrKey: z.string().describe("Issue ID or key, e.g. 'PROJECT-123'"),
@@ -17,7 +18,7 @@ export function registerJiraTools(server) {
17
18
  return handleToolError(error);
18
19
  }
19
20
  });
20
- server.registerTool("searchJiraIssuesUsingJql", {
21
+ server.registerTool(p("searchJiraIssuesUsingJql"), {
21
22
  description: "Search Jira issues using JQL (Jira Query Language). Example: 'project = PROJ AND status = \"In Progress\"'.",
22
23
  inputSchema: z.object({
23
24
  jql: z.string().describe("JQL query string"),
@@ -35,7 +36,7 @@ export function registerJiraTools(server) {
35
36
  return handleToolError(error);
36
37
  }
37
38
  });
38
- server.registerTool("createJiraIssue", {
39
+ server.registerTool(p("createJiraIssue"), {
39
40
  description: "Create a new Jira issue in a project. Returns the created issue key and URL.",
40
41
  inputSchema: z.object({
41
42
  projectKey: z.string().describe("Project key, e.g. 'PROJ'"),
@@ -66,7 +67,7 @@ export function registerJiraTools(server) {
66
67
  return handleToolError(error);
67
68
  }
68
69
  });
69
- server.registerTool("editJiraIssue", {
70
+ server.registerTool(p("editJiraIssue"), {
70
71
  description: "Modify field values of an existing Jira issue: summary, description, assignee, or priority.",
71
72
  inputSchema: z.object({
72
73
  issueIdOrKey: z.string().describe("Issue ID or key"),
@@ -97,7 +98,7 @@ export function registerJiraTools(server) {
97
98
  return handleToolError(error);
98
99
  }
99
100
  });
100
- server.registerTool("transitionJiraIssue", {
101
+ server.registerTool(p("transitionJiraIssue"), {
101
102
  description: "Execute a workflow state change on a Jira issue, e.g. move to 'In Progress' or 'Done'.",
102
103
  inputSchema: z.object({
103
104
  issueIdOrKey: z.string().describe("Issue ID or key"),
@@ -118,7 +119,7 @@ export function registerJiraTools(server) {
118
119
  return handleToolError(error);
119
120
  }
120
121
  });
121
- server.registerTool("getTransitionsForJiraIssue", {
122
+ server.registerTool(p("getTransitionsForJiraIssue"), {
122
123
  description: "List all available workflow transitions for a Jira issue.",
123
124
  inputSchema: z.object({
124
125
  issueIdOrKey: z.string().describe("Issue ID or key"),
@@ -132,7 +133,7 @@ export function registerJiraTools(server) {
132
133
  return handleToolError(error);
133
134
  }
134
135
  });
135
- server.registerTool("addCommentToJiraIssue", {
136
+ server.registerTool(p("addCommentToJiraIssue"), {
136
137
  description: "Post a comment on a Jira issue.",
137
138
  inputSchema: z.object({
138
139
  issueIdOrKey: z.string().describe("Issue ID or key"),
@@ -152,7 +153,7 @@ export function registerJiraTools(server) {
152
153
  return handleToolError(error);
153
154
  }
154
155
  });
155
- server.registerTool("addWorklogToJiraIssue", {
156
+ server.registerTool(p("addWorklogToJiraIssue"), {
156
157
  description: "Record a time tracking entry on a Jira issue.",
157
158
  inputSchema: z.object({
158
159
  issueIdOrKey: z.string().describe("Issue ID or key"),
@@ -175,7 +176,7 @@ export function registerJiraTools(server) {
175
176
  return handleToolError(error);
176
177
  }
177
178
  });
178
- server.registerTool("getVisibleJiraProjects", {
179
+ server.registerTool(p("getVisibleJiraProjects"), {
179
180
  description: "List all Jira projects the current user has access to.",
180
181
  inputSchema: z.object({}),
181
182
  }, async () => {
@@ -189,7 +190,7 @@ export function registerJiraTools(server) {
189
190
  return handleToolError(error);
190
191
  }
191
192
  });
192
- server.registerTool("getJiraProjectIssueTypesMetadata", {
193
+ server.registerTool(p("getJiraProjectIssueTypesMetadata"), {
193
194
  description: "List all issue types available in a Jira project.",
194
195
  inputSchema: z.object({
195
196
  projectKey: z.string().describe("Project key"),
@@ -203,7 +204,7 @@ export function registerJiraTools(server) {
203
204
  return handleToolError(error);
204
205
  }
205
206
  });
206
- server.registerTool("getJiraIssueTypeMetaWithFields", {
207
+ server.registerTool(p("getJiraIssueTypeMetaWithFields"), {
207
208
  description: "Get field metadata for creating issues of a specific type in a project.",
208
209
  inputSchema: z.object({
209
210
  projectKey: z.string().describe("Project key"),
@@ -218,7 +219,7 @@ export function registerJiraTools(server) {
218
219
  return handleToolError(error);
219
220
  }
220
221
  });
221
- server.registerTool("getIssueLinkTypes", {
222
+ server.registerTool(p("getIssueLinkTypes"), {
222
223
  description: "Retrieve all available issue link types (e.g. 'blocks', 'duplicates', 'is cloned by').",
223
224
  inputSchema: z.object({}),
224
225
  }, async () => {
@@ -230,7 +231,7 @@ export function registerJiraTools(server) {
230
231
  return handleToolError(error);
231
232
  }
232
233
  });
233
- server.registerTool("getJiraIssueRemoteIssueLinks", {
234
+ server.registerTool(p("getJiraIssueRemoteIssueLinks"), {
234
235
  description: "List external links (e.g. Confluence pages) attached to a Jira issue.",
235
236
  inputSchema: z.object({
236
237
  issueIdOrKey: z.string().describe("Issue ID or key"),
@@ -244,7 +245,7 @@ export function registerJiraTools(server) {
244
245
  return handleToolError(error);
245
246
  }
246
247
  });
247
- server.registerTool("lookupJiraAccountId", {
248
+ server.registerTool(p("lookupJiraAccountId"), {
248
249
  description: "Find Jira user account IDs by display name or email address.",
249
250
  inputSchema: z.object({
250
251
  query: z.string().describe("Name or email to search for"),