@carbonstopper/agent-mcp 0.1.4 → 0.1.6
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.
- package/AGENTS.md +10 -6
- package/README.md +59 -16
- package/dist/client.js +2 -1
- package/dist/client.js.map +1 -1
- package/dist/http.d.ts +8 -0
- package/dist/http.js +106 -0
- package/dist/http.js.map +1 -0
- package/dist/index.js +41 -52
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +4 -0
- package/dist/server.js +58 -0
- package/dist/server.js.map +1 -0
- package/dist/tools.js +0 -83
- package/dist/tools.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -1
package/AGENTS.md
CHANGED
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## Purpose
|
|
4
4
|
|
|
5
|
-
This is
|
|
5
|
+
This is an MCP server for Carbonstop server-side Agent usage. It supports stdio for local MCP clients and Streamable HTTP for deployed Agent services. It wraps Java internal Agent APIs through gateway service prefixes:
|
|
6
6
|
|
|
7
|
-
- `/ai/agent/internal/platform/**`
|
|
8
7
|
- `/footprint3/agent/internal/skills/**`
|
|
9
8
|
|
|
10
9
|
## Authentication
|
|
@@ -16,13 +15,20 @@ The MCP process reads:
|
|
|
16
15
|
- `CARBONSTOP_AGENT_BASE_URL`
|
|
17
16
|
- `CARBONSTOP_AGENT_INTERNAL_KEY`
|
|
18
17
|
- `CARBONSTOP_TIMEOUT`
|
|
18
|
+
- `CARBONSTOP_MCP_TRANSPORT`
|
|
19
|
+
- `CARBONSTOP_MCP_HTTP_HOST`
|
|
20
|
+
- `CARBONSTOP_MCP_HTTP_PORT`
|
|
21
|
+
- `CARBONSTOP_MCP_HTTP_PATH`
|
|
22
|
+
- `CARBONSTOP_MCP_HTTP_TOKEN`
|
|
19
23
|
|
|
20
24
|
Each tool call must include `sessionId`. The HTTP client forwards it in both `X-Agent-Session-Id` and the JSON body.
|
|
21
25
|
|
|
22
26
|
## Architecture
|
|
23
27
|
|
|
24
28
|
```text
|
|
25
|
-
src/index.ts
|
|
29
|
+
src/index.ts CLI entry and transport selection
|
|
30
|
+
src/server.ts MCP server factory and tool registration
|
|
31
|
+
src/http.ts Streamable HTTP transport server
|
|
26
32
|
src/tools.ts Zod schemas, descriptions, route mapping, body builder
|
|
27
33
|
src/client.ts HTTP client with retry and Agent internal headers
|
|
28
34
|
src/config.ts environment loading
|
|
@@ -32,9 +38,7 @@ src/version.ts version info
|
|
|
32
38
|
|
|
33
39
|
## Tool Families
|
|
34
40
|
|
|
35
|
-
- Platform context and memory: `session_context`, `project_memory_get`, `project_memory_patch`, `project_memory_compress`
|
|
36
41
|
- Product carbon skills: `modeling_preview`, `modeling_execute`, `modeling_re_modeling`, `modeling_update`, `modeling_detail`
|
|
37
|
-
- Report skills: `report_generate`, `report_detail`
|
|
38
|
-
- Support skills: `analysis_run`, `factor_search`, `knowledge_search`
|
|
42
|
+
- Report skills: `report_generate`, `report_regenerate`, `report_detail`
|
|
39
43
|
|
|
40
44
|
Write or high-risk tools require `idempotencyKey`.
|
package/README.md
CHANGED
|
@@ -15,7 +15,27 @@ npm install -g @carbonstopper/agent-mcp
|
|
|
15
15
|
Or run directly:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
|
|
18
|
+
# stdio mode
|
|
19
|
+
npx @carbonstopper/agent-mcp --stdio
|
|
20
|
+
|
|
21
|
+
# Streamable HTTP mode
|
|
22
|
+
npx @carbonstopper/agent-mcp --http --port 3000
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The default transport is stdio. For deployed Agent services, start Streamable HTTP mode:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx @carbonstopper/agent-mcp --http --port 3000 --path /mcp
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
After global install:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# stdio mode
|
|
35
|
+
carbonstop-agent-mcp --stdio
|
|
36
|
+
|
|
37
|
+
# Streamable HTTP mode
|
|
38
|
+
carbonstop-agent-mcp --http --port 3000
|
|
19
39
|
```
|
|
20
40
|
|
|
21
41
|
## Quick Start
|
|
@@ -40,6 +60,40 @@ export CARBONSTOP_AGENT_BASE_URL="https://your-gateway-host"
|
|
|
40
60
|
|
|
41
61
|
`CARBONSTOP_BASE_URL` is also accepted as a compatibility fallback.
|
|
42
62
|
|
|
63
|
+
### Streamable HTTP
|
|
64
|
+
|
|
65
|
+
Use Streamable HTTP when a LangChain/LangGraph Agent should call the MCP server by URL instead of spawning a local `npx` process.
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
export CARBONSTOP_AGENT_INTERNAL_KEY="your-agent-internal-key"
|
|
69
|
+
export CARBONSTOP_AGENT_BASE_URL="https://your-gateway-host"
|
|
70
|
+
export CARBONSTOP_MCP_TRANSPORT="http"
|
|
71
|
+
export CARBONSTOP_MCP_HTTP_HOST="0.0.0.0"
|
|
72
|
+
export CARBONSTOP_MCP_HTTP_PORT="3000"
|
|
73
|
+
export CARBONSTOP_MCP_HTTP_PATH="/mcp"
|
|
74
|
+
export CARBONSTOP_MCP_HTTP_TOKEN="optional-mcp-access-token"
|
|
75
|
+
|
|
76
|
+
npx @carbonstopper/agent-mcp
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
LangChain MCP configuration:
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
from langchain_mcp_adapters.client import MultiServerMCPClient
|
|
83
|
+
|
|
84
|
+
client = MultiServerMCPClient({
|
|
85
|
+
"carbonstop-agent": {
|
|
86
|
+
"transport": "streamable_http",
|
|
87
|
+
"url": "https://your-domain.com/mcp",
|
|
88
|
+
"headers": {
|
|
89
|
+
"Authorization": "Bearer optional-mcp-access-token"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
})
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If `CARBONSTOP_MCP_HTTP_TOKEN` is not set, the MCP HTTP endpoint does not require a token. Prefer private networking or a token for deployed services.
|
|
96
|
+
|
|
43
97
|
## MCP Client Config
|
|
44
98
|
|
|
45
99
|
### Claude Code / Claude Desktop
|
|
@@ -91,22 +145,18 @@ For local debugging against a non-default gateway, add:
|
|
|
91
145
|
|
|
92
146
|
## Available Tools
|
|
93
147
|
|
|
148
|
+
Only product carbon modeling and report tools are exposed to the Agent in this release.
|
|
149
|
+
|
|
94
150
|
| Tool | Description |
|
|
95
151
|
| --- | --- |
|
|
96
|
-
| `session_context` | Resolve session ownership and business context. |
|
|
97
|
-
| `project_memory_get` | Read project memory. |
|
|
98
|
-
| `project_memory_patch` | Patch project memory. Requires `idempotencyKey`. |
|
|
99
|
-
| `project_memory_compress` | Save compressed project memory. Requires `idempotencyKey`. |
|
|
100
152
|
| `modeling_preview` | Preview product carbon AI modeling. |
|
|
101
153
|
| `modeling_execute` | Create a new product carbon AI model. Requires `idempotencyKey` and `input.content`. |
|
|
102
154
|
| `modeling_re_modeling` | Re-run product carbon AI modeling for an existing account. Requires `accountId` and `idempotencyKey`. |
|
|
103
155
|
| `modeling_update` | Supplement or update emission sources for an existing model. Requires `accountId` and `idempotencyKey`. |
|
|
104
156
|
| `modeling_detail` | Get product carbon model details. |
|
|
105
157
|
| `report_generate` | Generate a product carbon report. Requires `idempotencyKey`. |
|
|
158
|
+
| `report_regenerate` | Regenerate an existing product carbon report. Requires `reportId` and `idempotencyKey`. |
|
|
106
159
|
| `report_detail` | Get product carbon report detail and latest report URL. |
|
|
107
|
-
| `analysis_run` | Run product carbon analysis. |
|
|
108
|
-
| `factor_search` | Search and match carbon emission factors. |
|
|
109
|
-
| `knowledge_search` | Search carbon knowledge. |
|
|
110
160
|
|
|
111
161
|
### Modeling Tool Selection
|
|
112
162
|
|
|
@@ -140,17 +190,10 @@ Write or high-risk tools require `idempotencyKey`, especially:
|
|
|
140
190
|
- `modeling_re_modeling`
|
|
141
191
|
- `modeling_update`
|
|
142
192
|
- `report_generate`
|
|
143
|
-
- `
|
|
144
|
-
- `project_memory_compress`
|
|
193
|
+
- `report_regenerate`
|
|
145
194
|
|
|
146
195
|
## API Routes
|
|
147
196
|
|
|
148
|
-
Platform APIs are called through the `ai` gateway prefix:
|
|
149
|
-
|
|
150
|
-
```text
|
|
151
|
-
/ai/agent/internal/platform/**
|
|
152
|
-
```
|
|
153
|
-
|
|
154
197
|
Product carbon skill APIs are called through the `footprint3` gateway prefix:
|
|
155
198
|
|
|
156
199
|
```text
|
package/dist/client.js
CHANGED
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/http.d.ts
ADDED
package/dist/http.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { createServer } from "node:http";
|
|
2
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
3
|
+
import { createAgentMcpServer } from "./server.js";
|
|
4
|
+
function sendJson(res, status, value) {
|
|
5
|
+
if (res.headersSent)
|
|
6
|
+
return;
|
|
7
|
+
res.writeHead(status, { "Content-Type": "application/json;charset=utf-8" });
|
|
8
|
+
res.end(JSON.stringify(value));
|
|
9
|
+
}
|
|
10
|
+
function normalizePath(path) {
|
|
11
|
+
const withSlash = path.startsWith("/") ? path : `/${path}`;
|
|
12
|
+
return withSlash.length > 1 ? withSlash.replace(/\/+$/, "") : withSlash;
|
|
13
|
+
}
|
|
14
|
+
function setCorsHeaders(req, res) {
|
|
15
|
+
const origin = req.headers.origin;
|
|
16
|
+
res.setHeader("Access-Control-Allow-Origin", typeof origin === "string" ? origin : "*");
|
|
17
|
+
res.setHeader("Access-Control-Allow-Methods", "GET,POST,DELETE,OPTIONS");
|
|
18
|
+
res.setHeader("Access-Control-Allow-Headers", "content-type,authorization,mcp-session-id,x-mcp-token,x-carbonstop-mcp-token");
|
|
19
|
+
res.setHeader("Access-Control-Expose-Headers", "mcp-session-id");
|
|
20
|
+
}
|
|
21
|
+
function isAuthorized(req, token) {
|
|
22
|
+
if (!token)
|
|
23
|
+
return true;
|
|
24
|
+
const authHeader = req.headers.authorization;
|
|
25
|
+
if (typeof authHeader === "string" && authHeader === `Bearer ${token}`) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
const mcpToken = req.headers["x-mcp-token"];
|
|
29
|
+
if (typeof mcpToken === "string" && mcpToken === token) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
const carbonstopToken = req.headers["x-carbonstop-mcp-token"];
|
|
33
|
+
return typeof carbonstopToken === "string" && carbonstopToken === token;
|
|
34
|
+
}
|
|
35
|
+
export async function runHttpServer(config, options) {
|
|
36
|
+
const path = normalizePath(options.path);
|
|
37
|
+
const httpServer = createServer(async (req, res) => {
|
|
38
|
+
setCorsHeaders(req, res);
|
|
39
|
+
try {
|
|
40
|
+
const url = new URL(req.url || "/", `http://${req.headers.host || "localhost"}`);
|
|
41
|
+
const requestPath = normalizePath(url.pathname);
|
|
42
|
+
if (req.method === "OPTIONS") {
|
|
43
|
+
res.writeHead(204);
|
|
44
|
+
res.end();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (requestPath === "/healthz") {
|
|
48
|
+
sendJson(res, 200, {
|
|
49
|
+
ok: true,
|
|
50
|
+
name: "carbonstop-agent-mcp",
|
|
51
|
+
transport: "streamable_http",
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (requestPath !== path) {
|
|
56
|
+
sendJson(res, 404, { error: "not_found" });
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (!isAuthorized(req, options.token)) {
|
|
60
|
+
sendJson(res, 401, { error: "unauthorized" });
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (!["GET", "POST", "DELETE"].includes(req.method || "")) {
|
|
64
|
+
res.setHeader("Allow", "GET,POST,DELETE,OPTIONS");
|
|
65
|
+
sendJson(res, 405, { error: "method_not_allowed" });
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const mcpServer = createAgentMcpServer(config);
|
|
69
|
+
const transport = new StreamableHTTPServerTransport({
|
|
70
|
+
sessionIdGenerator: undefined,
|
|
71
|
+
});
|
|
72
|
+
let closed = false;
|
|
73
|
+
const cleanup = async () => {
|
|
74
|
+
if (closed)
|
|
75
|
+
return;
|
|
76
|
+
closed = true;
|
|
77
|
+
await transport.close();
|
|
78
|
+
await mcpServer.close();
|
|
79
|
+
};
|
|
80
|
+
res.on("close", () => {
|
|
81
|
+
void cleanup();
|
|
82
|
+
});
|
|
83
|
+
await mcpServer.connect(transport);
|
|
84
|
+
await transport.handleRequest(req, res);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
sendJson(res, 500, {
|
|
88
|
+
error: err instanceof Error ? err.message : String(err),
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
await new Promise((resolve, reject) => {
|
|
93
|
+
httpServer.once("error", reject);
|
|
94
|
+
httpServer.listen(options.port, options.host, () => {
|
|
95
|
+
httpServer.off("error", reject);
|
|
96
|
+
resolve();
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
console.error(`[carbonstop-agent-mcp] streamable_http listening on http://${options.host}:${options.port}${path}`);
|
|
100
|
+
const shutdown = async () => {
|
|
101
|
+
httpServer.close(() => process.exit(0));
|
|
102
|
+
};
|
|
103
|
+
process.once("SIGINT", shutdown);
|
|
104
|
+
process.once("SIGTERM", shutdown);
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,61 +1,50 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
2
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
3
|
import { load } from "./config.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { Version } from "./version.js";
|
|
4
|
+
import { runHttpServer } from "./http.js";
|
|
5
|
+
import { assertConfig, createAgentMcpServer } from "./server.js";
|
|
8
6
|
const config = load();
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
process.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
process.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
name: "carbonstop-agent-mcp",
|
|
19
|
-
version: Version,
|
|
20
|
-
});
|
|
21
|
-
const client = new Client(config);
|
|
22
|
-
function textContent(text) {
|
|
23
|
-
return { content: [{ type: "text", text }] };
|
|
7
|
+
function readArg(name) {
|
|
8
|
+
const prefix = `${name}=`;
|
|
9
|
+
const inline = process.argv.find((arg) => arg.startsWith(prefix));
|
|
10
|
+
if (inline)
|
|
11
|
+
return inline.slice(prefix.length);
|
|
12
|
+
const index = process.argv.indexOf(name);
|
|
13
|
+
if (index >= 0 && process.argv[index + 1])
|
|
14
|
+
return process.argv[index + 1];
|
|
15
|
+
return undefined;
|
|
24
16
|
}
|
|
25
|
-
function
|
|
26
|
-
return
|
|
17
|
+
function hasFlag(name) {
|
|
18
|
+
return process.argv.includes(name);
|
|
27
19
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
20
|
+
try {
|
|
21
|
+
assertConfig(config);
|
|
22
|
+
const transportMode = hasFlag("--http") ? "http" :
|
|
23
|
+
hasFlag("--stdio") ? "stdio" :
|
|
24
|
+
readArg("--transport") ||
|
|
25
|
+
process.env.CARBONSTOP_MCP_TRANSPORT ||
|
|
26
|
+
"stdio";
|
|
27
|
+
if (["http", "streamable_http", "streamable-http"].includes(transportMode)) {
|
|
28
|
+
const port = Number.parseInt(readArg("--port") || process.env.CARBONSTOP_MCP_HTTP_PORT || "3000", 10);
|
|
29
|
+
const host = readArg("--host") || process.env.CARBONSTOP_MCP_HTTP_HOST || "0.0.0.0";
|
|
30
|
+
const path = readArg("--path") || process.env.CARBONSTOP_MCP_HTTP_PATH || "/mcp";
|
|
31
|
+
const token = process.env.CARBONSTOP_MCP_HTTP_TOKEN || undefined;
|
|
32
|
+
if (!Number.isFinite(port) || port <= 0) {
|
|
33
|
+
throw new Error("HTTP port must be a positive number");
|
|
38
34
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
return errorContent(`Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
35
|
+
await runHttpServer(config, { host, port, path, token });
|
|
36
|
+
}
|
|
37
|
+
else if (transportMode === "stdio") {
|
|
38
|
+
const server = createAgentMcpServer(config);
|
|
39
|
+
const transport = new StdioServerTransport();
|
|
40
|
+
await server.connect(transport);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new Error(`Unsupported transport: ${transportMode}`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
console.error(`[carbonstop-agent-mcp] ${err instanceof Error ? err.message : String(err)}`);
|
|
48
|
+
process.exit(2);
|
|
58
49
|
}
|
|
59
|
-
const transport = new StdioServerTransport();
|
|
60
|
-
await server.connect(transport);
|
|
61
50
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
package/dist/server.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { Client } from "./client.js";
|
|
3
|
+
import { schemas, descriptions, toolRoutes, buildBody, getSessionId } from "./tools.js";
|
|
4
|
+
import { Version } from "./version.js";
|
|
5
|
+
export function assertConfig(config) {
|
|
6
|
+
if (!config.baseURL) {
|
|
7
|
+
throw new Error("CARBONSTOP_AGENT_BASE_URL is required");
|
|
8
|
+
}
|
|
9
|
+
if (!config.agentInternalKey) {
|
|
10
|
+
throw new Error("CARBONSTOP_AGENT_INTERNAL_KEY is required");
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function textContent(text) {
|
|
14
|
+
return { content: [{ type: "text", text }] };
|
|
15
|
+
}
|
|
16
|
+
function errorContent(text) {
|
|
17
|
+
return { content: [{ type: "text", text }], isError: true };
|
|
18
|
+
}
|
|
19
|
+
export function createAgentMcpServer(config) {
|
|
20
|
+
const server = new McpServer({
|
|
21
|
+
name: "carbonstop-agent-mcp",
|
|
22
|
+
version: Version,
|
|
23
|
+
});
|
|
24
|
+
const client = new Client(config);
|
|
25
|
+
for (const [name, schema] of Object.entries(schemas)) {
|
|
26
|
+
if (!schema)
|
|
27
|
+
continue;
|
|
28
|
+
server.registerTool(name, {
|
|
29
|
+
description: descriptions[name] || "",
|
|
30
|
+
inputSchema: schema,
|
|
31
|
+
}, async (args) => {
|
|
32
|
+
const route = toolRoutes[name];
|
|
33
|
+
if (!route) {
|
|
34
|
+
return errorContent(`Unknown tool: ${name}`);
|
|
35
|
+
}
|
|
36
|
+
try {
|
|
37
|
+
const sessionId = getSessionId(args);
|
|
38
|
+
const body = buildBody(route, args);
|
|
39
|
+
const result = await client.post(route.path, sessionId, body);
|
|
40
|
+
if (result.status < 200 || result.status >= 300) {
|
|
41
|
+
return errorContent(`HTTP ${result.status}\n${result.body}`);
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
const parsed = JSON.parse(result.body);
|
|
45
|
+
return textContent(JSON.stringify(parsed, null, 2));
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return textContent(result.body);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
return errorContent(`Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return server;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -68,29 +68,6 @@ const knowledgeSearchInput = z.object({
|
|
|
68
68
|
message: z.string().optional().describe("Supplemental knowledge search context from the user or Agent."),
|
|
69
69
|
}).catchall(z.unknown());
|
|
70
70
|
export const schemas = {
|
|
71
|
-
session_context: z.object({
|
|
72
|
-
sessionId,
|
|
73
|
-
}),
|
|
74
|
-
project_memory_get: z.object({
|
|
75
|
-
sessionId,
|
|
76
|
-
projectId: z.number().optional(),
|
|
77
|
-
...traceFields,
|
|
78
|
-
input: jsonObject.optional(),
|
|
79
|
-
}),
|
|
80
|
-
project_memory_patch: z.object({
|
|
81
|
-
sessionId,
|
|
82
|
-
projectId: z.number().optional(),
|
|
83
|
-
...traceFields,
|
|
84
|
-
idempotencyKey,
|
|
85
|
-
input: jsonObject.describe("Memory patch payload"),
|
|
86
|
-
}),
|
|
87
|
-
project_memory_compress: z.object({
|
|
88
|
-
sessionId,
|
|
89
|
-
projectId: z.number().optional(),
|
|
90
|
-
...traceFields,
|
|
91
|
-
idempotencyKey,
|
|
92
|
-
input: jsonObject.describe("Compressed memory payload"),
|
|
93
|
-
}),
|
|
94
71
|
modeling_preview: z.object({
|
|
95
72
|
...commonSkillFields,
|
|
96
73
|
input: modelingInput,
|
|
@@ -138,30 +115,8 @@ export const schemas = {
|
|
|
138
115
|
reportId: z.number().describe("Report id"),
|
|
139
116
|
input: jsonObject.optional(),
|
|
140
117
|
}),
|
|
141
|
-
analysis_run: z.object({
|
|
142
|
-
...commonSkillFields,
|
|
143
|
-
accountId: z.number().describe("Product carbon account id"),
|
|
144
|
-
input: analysisInput,
|
|
145
|
-
}),
|
|
146
|
-
factor_search: z.object({
|
|
147
|
-
sessionId,
|
|
148
|
-
projectId: z.number().optional(),
|
|
149
|
-
...traceFields,
|
|
150
|
-
accountId: z.number().optional(),
|
|
151
|
-
input: factorSearchInput,
|
|
152
|
-
}),
|
|
153
|
-
knowledge_search: z.object({
|
|
154
|
-
sessionId,
|
|
155
|
-
projectId: z.number().optional(),
|
|
156
|
-
...traceFields,
|
|
157
|
-
input: knowledgeSearchInput,
|
|
158
|
-
}),
|
|
159
118
|
};
|
|
160
119
|
export const descriptions = {
|
|
161
|
-
session_context: "Resolve session ownership and business context for an Agent session.",
|
|
162
|
-
project_memory_get: "Read project memory for the Agent session or project.",
|
|
163
|
-
project_memory_patch: "Patch project memory. Requires idempotencyKey.",
|
|
164
|
-
project_memory_compress: "Save compressed project memory. Requires idempotencyKey.",
|
|
165
120
|
modeling_preview: "Preview product carbon AI modeling before user confirmation.",
|
|
166
121
|
modeling_execute: "Create a new product carbon model from input.content. Use this only when the user wants a new model and no existing account should be reused. Calls /modeling/execute. Requires idempotencyKey and input.content.",
|
|
167
122
|
modeling_re_modeling: "Re-model an existing product carbon account from updated context. Use this when the user wants to redo or recalculate the whole model for an existing account. Calls /modeling/reModeling. Requires accountId and idempotencyKey.",
|
|
@@ -170,31 +125,8 @@ export const descriptions = {
|
|
|
170
125
|
report_generate: "Create a new product carbon report from an account. Requires accountId and idempotencyKey.",
|
|
171
126
|
report_regenerate: "Regenerate an existing product carbon report. Requires reportId and idempotencyKey.",
|
|
172
127
|
report_detail: "Get product carbon report detail and latest report URL.",
|
|
173
|
-
analysis_run: "Run product carbon data analysis, such as hotspot analysis.",
|
|
174
|
-
factor_search: "Search and match carbon emission factors for Agent modeling.",
|
|
175
|
-
knowledge_search: "Search carbon knowledge for Agent answers.",
|
|
176
128
|
};
|
|
177
129
|
export const toolRoutes = {
|
|
178
|
-
session_context: {
|
|
179
|
-
method: "POST",
|
|
180
|
-
path: apipath.SessionContext(),
|
|
181
|
-
bodyKind: "sessionContext",
|
|
182
|
-
},
|
|
183
|
-
project_memory_get: {
|
|
184
|
-
method: "POST",
|
|
185
|
-
path: apipath.ProjectMemoryGet(),
|
|
186
|
-
bodyKind: "agentSkill",
|
|
187
|
-
},
|
|
188
|
-
project_memory_patch: {
|
|
189
|
-
method: "POST",
|
|
190
|
-
path: apipath.ProjectMemoryPatch(),
|
|
191
|
-
bodyKind: "agentSkill",
|
|
192
|
-
},
|
|
193
|
-
project_memory_compress: {
|
|
194
|
-
method: "POST",
|
|
195
|
-
path: apipath.ProjectMemoryCompress(),
|
|
196
|
-
bodyKind: "agentSkill",
|
|
197
|
-
},
|
|
198
130
|
modeling_preview: {
|
|
199
131
|
method: "POST",
|
|
200
132
|
path: apipath.ModelingPreview(),
|
|
@@ -235,21 +167,6 @@ export const toolRoutes = {
|
|
|
235
167
|
path: apipath.ReportDetail(),
|
|
236
168
|
bodyKind: "agentSkill",
|
|
237
169
|
},
|
|
238
|
-
analysis_run: {
|
|
239
|
-
method: "POST",
|
|
240
|
-
path: apipath.AnalysisRun(),
|
|
241
|
-
bodyKind: "agentSkill",
|
|
242
|
-
},
|
|
243
|
-
factor_search: {
|
|
244
|
-
method: "POST",
|
|
245
|
-
path: apipath.FactorSearch(),
|
|
246
|
-
bodyKind: "agentSkill",
|
|
247
|
-
},
|
|
248
|
-
knowledge_search: {
|
|
249
|
-
method: "POST",
|
|
250
|
-
path: apipath.KnowledgeSearch(),
|
|
251
|
-
bodyKind: "agentSkill",
|
|
252
|
-
},
|
|
253
170
|
};
|
|
254
171
|
export function buildBody(route, args) {
|
|
255
172
|
if (route.bodyKind === "sessionContext") {
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@carbonstopper/agent-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "MCP server for Carbonstop Agent internal skill APIs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"prebuild": "node scripts/build.cjs",
|
|
25
25
|
"build": "tsc",
|
|
26
26
|
"start": "node dist/index.js",
|
|
27
|
+
"start:http": "node dist/index.js --http",
|
|
27
28
|
"dev": "tsx src/index.ts",
|
|
28
29
|
"prepublishOnly": "npm run build"
|
|
29
30
|
},
|