basecamp-mcp 1.0.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 +155 -0
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +14 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +71 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/common.d.ts +13 -0
- package/dist/schemas/common.d.ts.map +1 -0
- package/dist/schemas/common.js +19 -0
- package/dist/schemas/common.js.map +1 -0
- package/dist/tools/comments.d.ts +7 -0
- package/dist/tools/comments.d.ts.map +1 -0
- package/dist/tools/comments.js +179 -0
- package/dist/tools/comments.js.map +1 -0
- package/dist/tools/kanban.d.ts +6 -0
- package/dist/tools/kanban.d.ts.map +1 -0
- package/dist/tools/kanban.js +390 -0
- package/dist/tools/kanban.js.map +1 -0
- package/dist/tools/messages.d.ts +8 -0
- package/dist/tools/messages.d.ts.map +1 -0
- package/dist/tools/messages.js +300 -0
- package/dist/tools/messages.js.map +1 -0
- package/dist/tools/people.d.ts +6 -0
- package/dist/tools/people.d.ts.map +1 -0
- package/dist/tools/people.js +142 -0
- package/dist/tools/people.js.map +1 -0
- package/dist/tools/projects.d.ts +11 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +116 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/todos.d.ts +6 -0
- package/dist/tools/todos.d.ts.map +1 -0
- package/dist/tools/todos.js +223 -0
- package/dist/tools/todos.js.map +1 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/auth.d.ts +24 -0
- package/dist/utils/auth.d.ts.map +1 -0
- package/dist/utils/auth.js +62 -0
- package/dist/utils/auth.js.map +1 -0
- package/dist/utils/contentOperations.d.ts +55 -0
- package/dist/utils/contentOperations.d.ts.map +1 -0
- package/dist/utils/contentOperations.js +109 -0
- package/dist/utils/contentOperations.js.map +1 -0
- package/dist/utils/errorHandlers.d.ts +11 -0
- package/dist/utils/errorHandlers.d.ts.map +1 -0
- package/dist/utils/errorHandlers.js +87 -0
- package/dist/utils/errorHandlers.js.map +1 -0
- package/dist/utils/serializers.d.ts +27 -0
- package/dist/utils/serializers.d.ts.map +1 -0
- package/dist/utils/serializers.js +19 -0
- package/dist/utils/serializers.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serialization utilities for Basecamp API responses
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Person object from Basecamp API
|
|
6
|
+
*/
|
|
7
|
+
interface BasecampPerson {
|
|
8
|
+
id: number;
|
|
9
|
+
name: string;
|
|
10
|
+
attachable_sgid: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Serialized person object for MCP responses
|
|
14
|
+
*/
|
|
15
|
+
export interface SerializedPerson {
|
|
16
|
+
id: number;
|
|
17
|
+
name: string;
|
|
18
|
+
attachable_sgid: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Serialize a Basecamp person object to a consistent format
|
|
22
|
+
* @param person - The person object from Basecamp API
|
|
23
|
+
* @returns Serialized person with id and name
|
|
24
|
+
*/
|
|
25
|
+
export declare function serializePerson(person: BasecampPerson | null | undefined): SerializedPerson | null;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=serializers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../src/utils/serializers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GACxC,gBAAgB,GAAG,IAAI,CAUzB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Serialization utilities for Basecamp API responses
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Serialize a Basecamp person object to a consistent format
|
|
6
|
+
* @param person - The person object from Basecamp API
|
|
7
|
+
* @returns Serialized person with id and name
|
|
8
|
+
*/
|
|
9
|
+
export function serializePerson(person) {
|
|
10
|
+
if (!person) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
id: person.id,
|
|
15
|
+
name: person.name,
|
|
16
|
+
attachable_sgid: person.attachable_sgid,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=serializers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../src/utils/serializers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAyC;IAEzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "basecamp-mcp",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"description": "Model Context Protocol (MCP) server for Basecamp integration. Enables LLMs to interact with Basecamp projects, messages, todos, comments, people, and kanban boards.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"basecamp-mcp": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"start": "node dist/index.js",
|
|
15
|
+
"dev": "tsx watch src/index.ts",
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"clean": "rm -rf dist",
|
|
18
|
+
"format": "biome format --write .",
|
|
19
|
+
"format:check": "biome format .",
|
|
20
|
+
"lint": "biome lint --write .",
|
|
21
|
+
"lint:check": "biome lint .",
|
|
22
|
+
"check": "biome check --write .",
|
|
23
|
+
"check:ci": "biome check .",
|
|
24
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
25
|
+
"test": "echo 'All good'"
|
|
26
|
+
},
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=18"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"mcp",
|
|
32
|
+
"model-context-protocol",
|
|
33
|
+
"basecamp",
|
|
34
|
+
"basecamp-api",
|
|
35
|
+
"llm",
|
|
36
|
+
"ai",
|
|
37
|
+
"integration",
|
|
38
|
+
"project-management"
|
|
39
|
+
],
|
|
40
|
+
"author": "Stefano Verna <stefano.verna@gmail.com>",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/stefanoverna/basecamp-mcp.git"
|
|
45
|
+
},
|
|
46
|
+
"bugs": {
|
|
47
|
+
"url": "https://github.com/stefanoverna/basecamp-mcp/issues"
|
|
48
|
+
},
|
|
49
|
+
"homepage": "https://github.com/stefanoverna/basecamp-mcp#readme",
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@modelcontextprotocol/sdk": "^1.6.1",
|
|
52
|
+
"basecamp-client": "^1.0.7",
|
|
53
|
+
"zod": "^3.23.8"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@anthropic-ai/sdk": "^0.67.0",
|
|
57
|
+
"@biomejs/biome": "2.3.0",
|
|
58
|
+
"@types/node": "^22.10.0",
|
|
59
|
+
"dotenv": "^17.2.3",
|
|
60
|
+
"np": "^10.2.0",
|
|
61
|
+
"tsx": "^4.19.2",
|
|
62
|
+
"typescript": "^5.7.2",
|
|
63
|
+
"xml2js": "^0.6.2"
|
|
64
|
+
}
|
|
65
|
+
}
|