@carbonstopper/agent-mcp 0.1.3 → 0.1.5
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 -3
- package/README.md +57 -1
- 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 +15 -2
- 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,7 +2,7 @@
|
|
|
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
7
|
- `/ai/agent/internal/platform/**`
|
|
8
8
|
- `/footprint3/agent/internal/skills/**`
|
|
@@ -16,13 +16,20 @@ The MCP process reads:
|
|
|
16
16
|
- `CARBONSTOP_AGENT_BASE_URL`
|
|
17
17
|
- `CARBONSTOP_AGENT_INTERNAL_KEY`
|
|
18
18
|
- `CARBONSTOP_TIMEOUT`
|
|
19
|
+
- `CARBONSTOP_MCP_TRANSPORT`
|
|
20
|
+
- `CARBONSTOP_MCP_HTTP_HOST`
|
|
21
|
+
- `CARBONSTOP_MCP_HTTP_PORT`
|
|
22
|
+
- `CARBONSTOP_MCP_HTTP_PATH`
|
|
23
|
+
- `CARBONSTOP_MCP_HTTP_TOKEN`
|
|
19
24
|
|
|
20
25
|
Each tool call must include `sessionId`. The HTTP client forwards it in both `X-Agent-Session-Id` and the JSON body.
|
|
21
26
|
|
|
22
27
|
## Architecture
|
|
23
28
|
|
|
24
29
|
```text
|
|
25
|
-
src/index.ts
|
|
30
|
+
src/index.ts CLI entry and transport selection
|
|
31
|
+
src/server.ts MCP server factory and tool registration
|
|
32
|
+
src/http.ts Streamable HTTP transport server
|
|
26
33
|
src/tools.ts Zod schemas, descriptions, route mapping, body builder
|
|
27
34
|
src/client.ts HTTP client with retry and Agent internal headers
|
|
28
35
|
src/config.ts environment loading
|
|
@@ -34,7 +41,7 @@ src/version.ts version info
|
|
|
34
41
|
|
|
35
42
|
- Platform context and memory: `session_context`, `project_memory_get`, `project_memory_patch`, `project_memory_compress`
|
|
36
43
|
- Product carbon skills: `modeling_preview`, `modeling_execute`, `modeling_re_modeling`, `modeling_update`, `modeling_detail`
|
|
37
|
-
- Report skills: `report_generate`, `report_detail`
|
|
44
|
+
- Report skills: `report_generate`, `report_regenerate`, `report_detail`
|
|
38
45
|
- Support skills: `analysis_run`, `factor_search`, `knowledge_search`
|
|
39
46
|
|
|
40
47
|
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
|
|
@@ -103,6 +157,7 @@ For local debugging against a non-default gateway, add:
|
|
|
103
157
|
| `modeling_update` | Supplement or update emission sources for an existing model. Requires `accountId` and `idempotencyKey`. |
|
|
104
158
|
| `modeling_detail` | Get product carbon model details. |
|
|
105
159
|
| `report_generate` | Generate a product carbon report. Requires `idempotencyKey`. |
|
|
160
|
+
| `report_regenerate` | Regenerate an existing product carbon report. Requires `reportId` and `idempotencyKey`. |
|
|
106
161
|
| `report_detail` | Get product carbon report detail and latest report URL. |
|
|
107
162
|
| `analysis_run` | Run product carbon analysis. |
|
|
108
163
|
| `factor_search` | Search and match carbon emission factors. |
|
|
@@ -140,6 +195,7 @@ Write or high-risk tools require `idempotencyKey`, especially:
|
|
|
140
195
|
- `modeling_re_modeling`
|
|
141
196
|
- `modeling_update`
|
|
142
197
|
- `report_generate`
|
|
198
|
+
- `report_regenerate`
|
|
143
199
|
- `project_memory_patch`
|
|
144
200
|
- `project_memory_compress`
|
|
145
201
|
|
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
|
@@ -45,7 +45,7 @@ const reModelingInput = modelingInput.extend({
|
|
|
45
45
|
});
|
|
46
46
|
const modelUpdateInput = z.object({
|
|
47
47
|
accountId: z.number().optional().describe("Product carbon account id. Top-level accountId is preferred."),
|
|
48
|
-
|
|
48
|
+
content: z.string().optional().describe("Natural language instruction for supplementing emission sources, for example adding a material, energy, packaging, or transport source."),
|
|
49
49
|
message: z.string().optional().describe("Supplemental emission source information from the user or Agent."),
|
|
50
50
|
}).catchall(z.unknown());
|
|
51
51
|
const reportGenerateInput = z.object({
|
|
@@ -121,6 +121,13 @@ export const schemas = {
|
|
|
121
121
|
}),
|
|
122
122
|
report_generate: z.object({
|
|
123
123
|
...commonSkillFields,
|
|
124
|
+
accountId: z.number().describe("Product carbon account id"),
|
|
125
|
+
idempotencyKey,
|
|
126
|
+
input: reportGenerateInput.optional(),
|
|
127
|
+
}),
|
|
128
|
+
report_regenerate: z.object({
|
|
129
|
+
...commonSkillFields,
|
|
130
|
+
reportId: z.number().describe("Existing report id to regenerate"),
|
|
124
131
|
idempotencyKey,
|
|
125
132
|
input: reportGenerateInput.optional(),
|
|
126
133
|
}),
|
|
@@ -160,7 +167,8 @@ export const descriptions = {
|
|
|
160
167
|
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.",
|
|
161
168
|
modeling_update: "Supplement emission sources on an existing product carbon account. Use this when the user wants to add or adjust materials, energy, packaging, transport, or other emission sources without recreating the whole model. Calls /modeling/update. Requires accountId and idempotencyKey.",
|
|
162
169
|
modeling_detail: "Get product carbon model details for an account.",
|
|
163
|
-
report_generate: "
|
|
170
|
+
report_generate: "Create a new product carbon report from an account. Requires accountId and idempotencyKey.",
|
|
171
|
+
report_regenerate: "Regenerate an existing product carbon report. Requires reportId and idempotencyKey.",
|
|
164
172
|
report_detail: "Get product carbon report detail and latest report URL.",
|
|
165
173
|
analysis_run: "Run product carbon data analysis, such as hotspot analysis.",
|
|
166
174
|
factor_search: "Search and match carbon emission factors for Agent modeling.",
|
|
@@ -217,6 +225,11 @@ export const toolRoutes = {
|
|
|
217
225
|
path: apipath.ReportGenerate(),
|
|
218
226
|
bodyKind: "agentSkill",
|
|
219
227
|
},
|
|
228
|
+
report_regenerate: {
|
|
229
|
+
method: "POST",
|
|
230
|
+
path: apipath.ReportGenerate(),
|
|
231
|
+
bodyKind: "agentSkill",
|
|
232
|
+
},
|
|
220
233
|
report_detail: {
|
|
221
234
|
method: "POST",
|
|
222
235
|
path: apipath.ReportDetail(),
|
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.5",
|
|
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
|
},
|