@pilot-status/mcp-server 0.1.0
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/LICENSE +21 -0
- package/README.md +230 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/api-client.d.ts +100 -0
- package/dist/lib/api-client.d.ts.map +1 -0
- package/dist/lib/api-client.js +204 -0
- package/dist/lib/api-client.js.map +1 -0
- package/dist/lib/config.d.ts +54 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +79 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/http-transport.d.ts +42 -0
- package/dist/lib/http-transport.d.ts.map +1 -0
- package/dist/lib/http-transport.js +228 -0
- package/dist/lib/http-transport.js.map +1 -0
- package/dist/lib/register.d.ts +28 -0
- package/dist/lib/register.d.ts.map +1 -0
- package/dist/lib/register.js +69 -0
- package/dist/lib/register.js.map +1 -0
- package/dist/lib/server.d.ts +16 -0
- package/dist/lib/server.d.ts.map +1 -0
- package/dist/lib/server.js +23 -0
- package/dist/lib/server.js.map +1 -0
- package/dist/tools/analytics.d.ts +3 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +22 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/api-keys.d.ts +3 -0
- package/dist/tools/api-keys.d.ts.map +1 -0
- package/dist/tools/api-keys.js +35 -0
- package/dist/tools/api-keys.js.map +1 -0
- package/dist/tools/branding.d.ts +3 -0
- package/dist/tools/branding.d.ts.map +1 -0
- package/dist/tools/branding.js +35 -0
- package/dist/tools/branding.js.map +1 -0
- package/dist/tools/conversations.d.ts +3 -0
- package/dist/tools/conversations.d.ts.map +1 -0
- package/dist/tools/conversations.js +18 -0
- package/dist/tools/conversations.js.map +1 -0
- package/dist/tools/groups.d.ts +3 -0
- package/dist/tools/groups.d.ts.map +1 -0
- package/dist/tools/groups.js +17 -0
- package/dist/tools/groups.js.map +1 -0
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +26 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/messages.d.ts +3 -0
- package/dist/tools/messages.d.ts.map +1 -0
- package/dist/tools/messages.js +134 -0
- package/dist/tools/messages.js.map +1 -0
- package/dist/tools/numbers.d.ts +3 -0
- package/dist/tools/numbers.d.ts.map +1 -0
- package/dist/tools/numbers.js +52 -0
- package/dist/tools/numbers.js.map +1 -0
- package/dist/tools/shared.d.ts +19 -0
- package/dist/tools/shared.d.ts.map +1 -0
- package/dist/tools/shared.js +27 -0
- package/dist/tools/shared.js.map +1 -0
- package/dist/tools/subscription.d.ts +3 -0
- package/dist/tools/subscription.d.ts.map +1 -0
- package/dist/tools/subscription.js +39 -0
- package/dist/tools/subscription.js.map +1 -0
- package/dist/tools/templates.d.ts +3 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +68 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/types.d.ts +23 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +20 -0
- package/dist/tools/types.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { z } from "zod";
|
|
2
|
+
import type { ApiClient } from "../lib/api-client.js";
|
|
3
|
+
/**
|
|
4
|
+
* A single MCP tool definition. `inputSchema` is a Zod *raw shape*
|
|
5
|
+
* (`Record<string, ZodTypeAny>`) — the shape the MCP SDK's `server.tool()`
|
|
6
|
+
* expects. The handler receives the already-validated args plus the
|
|
7
|
+
* per-connection {@link ApiClient}.
|
|
8
|
+
*/
|
|
9
|
+
export interface ToolDef<Shape extends z.ZodRawShape = z.ZodRawShape> {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
inputSchema: Shape;
|
|
13
|
+
handler: (client: ApiClient, args: Record<string, unknown>) => Promise<unknown>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Identity helper: keeps the precise `inputSchema` shape type at the definition
|
|
17
|
+
* site (so each tool's args are well-typed) while widening the return type to
|
|
18
|
+
* the base {@link ToolDef} so tools compose cleanly into `ToolDef[]` arrays.
|
|
19
|
+
*/
|
|
20
|
+
export declare function defineTool<Shape extends z.ZodRawShape>(def: ToolDef<Shape>): ToolDef;
|
|
21
|
+
/** Build a query object from a subset of args, skipping undefined values. */
|
|
22
|
+
export declare function pickQuery(args: Record<string, unknown>, keys: string[]): Record<string, string | number | boolean | undefined>;
|
|
23
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,KAAK,CAAC;IACnB,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnF;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,EAClD,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GACpB,OAAO,CAET;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,MAAM,EAAE,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAQvD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Identity helper: keeps the precise `inputSchema` shape type at the definition
|
|
3
|
+
* site (so each tool's args are well-typed) while widening the return type to
|
|
4
|
+
* the base {@link ToolDef} so tools compose cleanly into `ToolDef[]` arrays.
|
|
5
|
+
*/
|
|
6
|
+
export function defineTool(def) {
|
|
7
|
+
return def;
|
|
8
|
+
}
|
|
9
|
+
/** Build a query object from a subset of args, skipping undefined values. */
|
|
10
|
+
export function pickQuery(args, keys) {
|
|
11
|
+
const out = {};
|
|
12
|
+
for (const key of keys) {
|
|
13
|
+
const value = args[key];
|
|
14
|
+
if (value === undefined || value === null)
|
|
15
|
+
continue;
|
|
16
|
+
out[key] = value;
|
|
17
|
+
}
|
|
18
|
+
return out;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAgBA;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACtB,GAAmB;IAEnB,OAAO,GAAc,CAAC;AAC1B,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,SAAS,CACrB,IAA6B,EAC7B,IAAc;IAEd,MAAM,GAAG,GAA0D,EAAE,CAAC;IACtE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAkC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pilot-status/mcp-server",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Model Context Protocol (MCP) server exposing the Pilot Status public /v1 API as tools. Supports stdio and streamable HTTP transports (with OAuth 2.1 for the claude.ai custom connector).",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "Pilot Status",
|
|
8
|
+
"homepage": "https://github.com/oismaelash/pilot-status/tree/main/apps/mcp-server#readme",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/oismaelash/pilot-status.git",
|
|
12
|
+
"directory": "apps/mcp-server"
|
|
13
|
+
},
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/oismaelash/pilot-status/issues"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"mcp",
|
|
19
|
+
"model-context-protocol",
|
|
20
|
+
"whatsapp",
|
|
21
|
+
"pilot-status",
|
|
22
|
+
"claude"
|
|
23
|
+
],
|
|
24
|
+
"main": "dist/index.js",
|
|
25
|
+
"types": "dist/index.d.ts",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"import": "./dist/index.js"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"bin": {
|
|
33
|
+
"pilot-status-mcp": "dist/index.js"
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist",
|
|
37
|
+
"README.md",
|
|
38
|
+
"LICENSE"
|
|
39
|
+
],
|
|
40
|
+
"engines": {
|
|
41
|
+
"node": ">=20"
|
|
42
|
+
},
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"dev": "tsx watch src/index.ts",
|
|
48
|
+
"build": "tsc",
|
|
49
|
+
"start": "node dist/index.js",
|
|
50
|
+
"test": "vitest run -c vitest.config.ts",
|
|
51
|
+
"test:coverage": "vitest run -c vitest.coverage.config.ts",
|
|
52
|
+
"prepublishOnly": "npm run build"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@modelcontextprotocol/sdk": "^1.20.0",
|
|
56
|
+
"zod": "^3.23.8"
|
|
57
|
+
},
|
|
58
|
+
"devDependencies": {
|
|
59
|
+
"@types/node": "^22.0.0",
|
|
60
|
+
"tsx": "^4.19.0",
|
|
61
|
+
"typescript": "^5.6.0",
|
|
62
|
+
"vitest": "^4.0.18"
|
|
63
|
+
}
|
|
64
|
+
}
|