ashlr-stack-mcp 0.3.0 → 0.3.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/README.md +3 -3
- package/dist/server.js +14 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# ashlr-stack-mcp
|
|
2
2
|
|
|
3
|
-
> MCP server for [Ashlr Stack](https://stack.ashlr.ai). Exposes 19 tools and up to 3 resources
|
|
3
|
+
> MCP server for [Ashlr Stack](https://stack.ashlr.ai). Exposes 19 tools and up to 3 resources for inspecting and configuring supported services from MCP clients.
|
|
4
4
|
|
|
5
5
|
## What it does
|
|
6
6
|
|
|
7
|
-
`stack` is a CLI. `ashlr-stack-mcp` is the same capabilities as MCP tools so your coding agent can drive Stack directly.
|
|
7
|
+
`stack` is a CLI. `ashlr-stack-mcp` is the same capabilities as MCP tools so your coding agent can drive Stack directly. An agent can request `stack_add` for a supported provider; authentication, resource setup and configuration changes depend on the adapter and authorization. Inspect the result and any changes.
|
|
8
8
|
|
|
9
9
|
## Install
|
|
10
10
|
|
|
@@ -26,7 +26,7 @@ bun add -g ashlr-stack-mcp @ashlr/stack
|
|
|
26
26
|
npm i -g ashlr-stack-mcp @ashlr/stack
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
Every tool runs the `stack` CLI. The server resolves it in this order: the executable specified by `STACK_BIN`, the installed `@ashlr/stack` dependency's bin, then `stack` on PATH. If none is available, the server can still start and list tools, but calls fail with a CLI error. The npm
|
|
29
|
+
Every tool runs the `stack` CLI. The server resolves it in this order: the executable specified by `STACK_BIN`, the installed `@ashlr/stack` dependency's bin, then `stack` on PATH. If none is available, the server can still start and list tools, but calls fail with a CLI error. The npm CLI and MCP packages in this release declare Node.js >= 20 and use Node entrypoints. Check your installed package manifests; source development uses Bun.
|
|
30
30
|
|
|
31
31
|
## Run from a local clone
|
|
32
32
|
|
package/dist/server.js
CHANGED
|
@@ -14214,7 +14214,7 @@ function validateToolInput(tool, input) {
|
|
|
14214
14214
|
const known = Object.keys(tool.inputSchema.properties);
|
|
14215
14215
|
return `${tool.name}: unknown argument "${key}". ${known.length ? `Accepted: ${known.join(", ")}.` : "This tool takes no arguments."}`;
|
|
14216
14216
|
}
|
|
14217
|
-
if (value === undefined
|
|
14217
|
+
if (value === undefined)
|
|
14218
14218
|
continue;
|
|
14219
14219
|
const actual = typeof value;
|
|
14220
14220
|
if (spec.type === "number" ? !Number.isFinite(value) : actual !== spec.type) {
|
|
@@ -14879,4 +14879,17 @@ server.setRequestHandler(ReadResourceRequestSchema2, async (request) => {
|
|
|
14879
14879
|
};
|
|
14880
14880
|
});
|
|
14881
14881
|
var transport = new StdioServerTransport;
|
|
14882
|
+
var shuttingDown = false;
|
|
14883
|
+
async function shutdown() {
|
|
14884
|
+
if (shuttingDown)
|
|
14885
|
+
return;
|
|
14886
|
+
shuttingDown = true;
|
|
14887
|
+
try {
|
|
14888
|
+
await server.close();
|
|
14889
|
+
} finally {
|
|
14890
|
+
process.exit(0);
|
|
14891
|
+
}
|
|
14892
|
+
}
|
|
14893
|
+
process.stdin.once("end", shutdown);
|
|
14894
|
+
process.stdin.once("close", shutdown);
|
|
14882
14895
|
await server.connect(transport);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ashlr-stack-mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"mcpName": "io.github.ashlrai/ashlr-stack",
|
|
5
5
|
"description": "MCP server for Ashlr Stack. Exposes 19 tools and 3 resources so Claude Code / Cursor / Windsurf / Codex can provision every third-party service in a project with one call.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -44,14 +44,15 @@
|
|
|
44
44
|
"node": ">=20"
|
|
45
45
|
},
|
|
46
46
|
"scripts": {
|
|
47
|
-
"build": "bun build src/server.ts --outdir dist --target node --format esm && node -e \"const fs=require('fs');const f='dist/server.js';let c=fs.readFileSync(f,'utf8');if(c.startsWith('#!'))c=c.slice(c.indexOf('\\n')+1);fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c);fs.chmodSync(f,0o755)\"",
|
|
47
|
+
"build": "NODE_ENV=production bun build src/server.ts --outdir dist --target node --format esm && node -e \"const fs=require('fs');const f='dist/server.js';let c=fs.readFileSync(f,'utf8');if(c.startsWith('#!'))c=c.slice(c.indexOf('\\n')+1);fs.writeFileSync(f,'#!/usr/bin/env node\\n'+c);fs.chmodSync(f,0o755)\"",
|
|
48
48
|
"prepack": "bun run build",
|
|
49
|
+
"local-lane": "bun run src/local-lane.ts",
|
|
49
50
|
"start": "bun run src/server.ts",
|
|
50
51
|
"test": "bun test __tests__/",
|
|
51
52
|
"typecheck": "bunx tsc --noEmit"
|
|
52
53
|
},
|
|
53
54
|
"dependencies": {
|
|
54
|
-
"@ashlr/stack": "^0.3.
|
|
55
|
+
"@ashlr/stack": "^0.3.6",
|
|
55
56
|
"@modelcontextprotocol/sdk": "^1.0.0"
|
|
56
57
|
},
|
|
57
58
|
"devDependencies": {
|