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.
Files changed (58) hide show
  1. package/README.md +155 -0
  2. package/dist/constants.d.ts +14 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +14 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/index.d.ts +20 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +71 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/schemas/common.d.ts +13 -0
  11. package/dist/schemas/common.d.ts.map +1 -0
  12. package/dist/schemas/common.js +19 -0
  13. package/dist/schemas/common.js.map +1 -0
  14. package/dist/tools/comments.d.ts +7 -0
  15. package/dist/tools/comments.d.ts.map +1 -0
  16. package/dist/tools/comments.js +179 -0
  17. package/dist/tools/comments.js.map +1 -0
  18. package/dist/tools/kanban.d.ts +6 -0
  19. package/dist/tools/kanban.d.ts.map +1 -0
  20. package/dist/tools/kanban.js +390 -0
  21. package/dist/tools/kanban.js.map +1 -0
  22. package/dist/tools/messages.d.ts +8 -0
  23. package/dist/tools/messages.d.ts.map +1 -0
  24. package/dist/tools/messages.js +300 -0
  25. package/dist/tools/messages.js.map +1 -0
  26. package/dist/tools/people.d.ts +6 -0
  27. package/dist/tools/people.d.ts.map +1 -0
  28. package/dist/tools/people.js +142 -0
  29. package/dist/tools/people.js.map +1 -0
  30. package/dist/tools/projects.d.ts +11 -0
  31. package/dist/tools/projects.d.ts.map +1 -0
  32. package/dist/tools/projects.js +116 -0
  33. package/dist/tools/projects.js.map +1 -0
  34. package/dist/tools/todos.d.ts +6 -0
  35. package/dist/tools/todos.d.ts.map +1 -0
  36. package/dist/tools/todos.js +223 -0
  37. package/dist/tools/todos.js.map +1 -0
  38. package/dist/types.d.ts +27 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +5 -0
  41. package/dist/types.js.map +1 -0
  42. package/dist/utils/auth.d.ts +24 -0
  43. package/dist/utils/auth.d.ts.map +1 -0
  44. package/dist/utils/auth.js +62 -0
  45. package/dist/utils/auth.js.map +1 -0
  46. package/dist/utils/contentOperations.d.ts +55 -0
  47. package/dist/utils/contentOperations.d.ts.map +1 -0
  48. package/dist/utils/contentOperations.js +109 -0
  49. package/dist/utils/contentOperations.js.map +1 -0
  50. package/dist/utils/errorHandlers.d.ts +11 -0
  51. package/dist/utils/errorHandlers.d.ts.map +1 -0
  52. package/dist/utils/errorHandlers.js +87 -0
  53. package/dist/utils/errorHandlers.js.map +1 -0
  54. package/dist/utils/serializers.d.ts +27 -0
  55. package/dist/utils/serializers.d.ts.map +1 -0
  56. package/dist/utils/serializers.js +19 -0
  57. package/dist/utils/serializers.js.map +1 -0
  58. 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
+ }