autoproject-mcp 1.1.0 → 1.1.1
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 +2 -1
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +19 -10
- package/dist/client.js.map +1 -1
- package/dist/index.js +44 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,8 @@ AutoProject MCP server for IDE agent integration.
|
|
|
6
6
|
|
|
7
7
|
### Option A — npm (once published)
|
|
8
8
|
```sh
|
|
9
|
-
npx autoproject-mcp
|
|
9
|
+
npx autoproject-mcp # starts MCP server (stdio — idle in terminal is normal)
|
|
10
|
+
npx autoproject-mcp --help # usage and environment variables
|
|
10
11
|
```
|
|
11
12
|
|
|
12
13
|
### Option B — local file (pre-built tarball)
|
package/dist/client.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Reads AUTOPROJECT_API_URL and AUTOPROJECT_API_KEY from environment.
|
|
4
4
|
*/
|
|
5
5
|
import { AxiosInstance } from 'axios';
|
|
6
|
+
/** @deprecated Use getClient() — kept for modules that reference `client` directly. */
|
|
6
7
|
export declare const client: AxiosInstance;
|
|
7
8
|
/** Human-readable product slug for display purposes (e.g. 'my-product'). Falls back to empty string. */
|
|
8
9
|
export declare const PRODUCT_SLUG: string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAsC7C,uFAAuF;AACvF,eAAO,MAAM,MAAM,eAIjB,CAAC;AAEH,wGAAwG;AACxG,eAAO,MAAM,YAAY,QAA6C,CAAC;AAEvE,wBAAsB,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAGpG;AAED,wBAAsB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAGnF;AAED,wBAAsB,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAGpF;AAED,wBAAsB,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAGlF;AAED,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAGrE"}
|
package/dist/client.js
CHANGED
|
@@ -14,13 +14,17 @@ exports.apiPatch = apiPatch;
|
|
|
14
14
|
exports.apiPut = apiPut;
|
|
15
15
|
exports.apiDelete = apiDelete;
|
|
16
16
|
const axios_1 = __importDefault(require("axios"));
|
|
17
|
-
|
|
17
|
+
let clientInstance = null;
|
|
18
|
+
function getClient() {
|
|
19
|
+
if (clientInstance) {
|
|
20
|
+
return clientInstance;
|
|
21
|
+
}
|
|
18
22
|
const apiUrl = process.env.AUTOPROJECT_API_URL || process.env.AUTOPROJECT_BASE_URL || 'http://localhost:3001/api';
|
|
19
23
|
const apiKey = process.env.AUTOPROJECT_API_KEY || '';
|
|
20
24
|
if (!apiKey) {
|
|
21
25
|
console.error('[autoproject-mcp] Warning: AUTOPROJECT_API_KEY is not set.');
|
|
22
26
|
}
|
|
23
|
-
|
|
27
|
+
clientInstance = axios_1.default.create({
|
|
24
28
|
baseURL: `${apiUrl}/agent/v1`,
|
|
25
29
|
timeout: 30000,
|
|
26
30
|
headers: {
|
|
@@ -29,34 +33,39 @@ function createClient() {
|
|
|
29
33
|
'X-Agent-ID': process.env.AUTOPROJECT_AGENT_ID || 'autoproject-mcp',
|
|
30
34
|
},
|
|
31
35
|
});
|
|
32
|
-
|
|
36
|
+
clientInstance.interceptors.response.use((res) => res, (err) => {
|
|
33
37
|
const msg = err.response?.data?.error?.message ?? err.message ?? 'Unknown error';
|
|
34
38
|
const status = err.response?.status ?? 0;
|
|
35
39
|
throw new Error(`[${status}] ${msg}`);
|
|
36
40
|
});
|
|
37
|
-
return
|
|
41
|
+
return clientInstance;
|
|
38
42
|
}
|
|
39
|
-
|
|
43
|
+
/** @deprecated Use getClient() — kept for modules that reference `client` directly. */
|
|
44
|
+
exports.client = new Proxy({}, {
|
|
45
|
+
get(_target, prop, receiver) {
|
|
46
|
+
return Reflect.get(getClient(), prop, receiver);
|
|
47
|
+
},
|
|
48
|
+
});
|
|
40
49
|
/** Human-readable product slug for display purposes (e.g. 'my-product'). Falls back to empty string. */
|
|
41
50
|
exports.PRODUCT_SLUG = process.env.AUTOPROJECT_PRODUCT_SLUG ?? '';
|
|
42
51
|
async function apiGet(path, params) {
|
|
43
|
-
const res = await
|
|
52
|
+
const res = await getClient().get(path, { params });
|
|
44
53
|
return res.data.data;
|
|
45
54
|
}
|
|
46
55
|
async function apiPost(path, body) {
|
|
47
|
-
const res = await
|
|
56
|
+
const res = await getClient().post(path, body);
|
|
48
57
|
return res.data.data;
|
|
49
58
|
}
|
|
50
59
|
async function apiPatch(path, body) {
|
|
51
|
-
const res = await
|
|
60
|
+
const res = await getClient().patch(path, body);
|
|
52
61
|
return res.data.data;
|
|
53
62
|
}
|
|
54
63
|
async function apiPut(path, body) {
|
|
55
|
-
const res = await
|
|
64
|
+
const res = await getClient().put(path, body);
|
|
56
65
|
return res.data.data;
|
|
57
66
|
}
|
|
58
67
|
async function apiDelete(path) {
|
|
59
|
-
const res = await
|
|
68
|
+
const res = await getClient().delete(path);
|
|
60
69
|
return res.data.data;
|
|
61
70
|
}
|
|
62
71
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
* AUTOPROJECT_API_KEY — Agent API key (required, format: ap_live_...)
|
|
15
15
|
* AUTOPROJECT_AGENT_ID — Agent identifier for audit logs (default: autoproject-mcp)
|
|
16
16
|
*/
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
17
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
21
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
19
22
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
@@ -36,6 +39,43 @@ const releaseCycleLinkTools_js_1 = require("./tools/releaseCycleLinkTools.js");
|
|
|
36
39
|
const screenTools_js_1 = require("./tools/screenTools.js");
|
|
37
40
|
const index_js_2 = require("./resources/index.js");
|
|
38
41
|
const index_js_3 = require("./prompts/index.js");
|
|
42
|
+
const package_json_1 = __importDefault(require("../package.json"));
|
|
43
|
+
const VERSION = package_json_1.default.version;
|
|
44
|
+
function printHelp() {
|
|
45
|
+
console.log(`autoproject-mcp ${VERSION}
|
|
46
|
+
|
|
47
|
+
AutoProject MCP server for IDE agent integration (Cursor, VS Code, Claude Dev).
|
|
48
|
+
|
|
49
|
+
Usage:
|
|
50
|
+
npx autoproject-mcp Start MCP server on stdio (for IDE clients)
|
|
51
|
+
npx autoproject-mcp --help Show this help
|
|
52
|
+
npx autoproject-mcp --version Show version
|
|
53
|
+
|
|
54
|
+
When started without --help, the server listens for MCP JSON-RPC on stdin/stdout.
|
|
55
|
+
It will appear idle in a terminal — that is expected. Connect via your IDE MCP config.
|
|
56
|
+
|
|
57
|
+
Environment variables:
|
|
58
|
+
AUTOPROJECT_API_KEY Agent API key (required, format: ap_live_...)
|
|
59
|
+
AUTOPROJECT_API_URL API base URL (default: http://localhost:3001/api)
|
|
60
|
+
AUTOPROJECT_BASE_URL Alias for AUTOPROJECT_API_URL
|
|
61
|
+
AUTOPROJECT_AGENT_ID Agent identifier for audit logs (default: autoproject-mcp)
|
|
62
|
+
AUTOPROJECT_PRODUCT_SLUG Default product slug for resource URIs
|
|
63
|
+
|
|
64
|
+
Docs: https://github.com/autoproject/autoproject-mcp
|
|
65
|
+
`);
|
|
66
|
+
}
|
|
67
|
+
function handleCliArgs() {
|
|
68
|
+
const args = process.argv.slice(2);
|
|
69
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
70
|
+
printHelp();
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
if (args.includes('--version') || args.includes('-v')) {
|
|
74
|
+
console.log(VERSION);
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
39
79
|
const ALL_TOOLS = [
|
|
40
80
|
...productTools_js_1.productToolDefinitions,
|
|
41
81
|
...hierarchyTools_js_1.hierarchyToolDefinitions,
|
|
@@ -123,7 +163,10 @@ const TOOL_HANDLER_MAP = {
|
|
|
123
163
|
delete_screen: screenTools_js_1.handleScreenTool,
|
|
124
164
|
};
|
|
125
165
|
async function main() {
|
|
126
|
-
|
|
166
|
+
if (handleCliArgs()) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
const server = new index_js_1.Server({ name: 'autoproject-mcp', version: VERSION }, {
|
|
127
170
|
capabilities: {
|
|
128
171
|
tools: {},
|
|
129
172
|
resources: {},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;GAaG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|