@sam2kb/m365-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/.env.example +4 -0
- package/README.md +21 -6
- package/SKILL.md +10 -2
- package/dist/auth-cli.js +1 -1
- package/dist/auth-cli.js.map +1 -1
- package/dist/auth.js +73 -17
- package/dist/auth.js.map +1 -1
- package/dist/graph.d.ts +3 -1
- package/dist/graph.js +88 -26
- package/dist/graph.js.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/security.js +2 -2
- package/dist/security.js.map +1 -1
- package/dist/tools/calendar.d.ts +7 -0
- package/dist/tools/calendar.js +57 -42
- package/dist/tools/calendar.js.map +1 -1
- package/dist/tools/contacts.js +1 -8
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/files.d.ts +6 -0
- package/dist/tools/files.js +6 -5
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/mail.d.ts +4 -0
- package/dist/tools/mail.js +12 -6
- package/dist/tools/mail.js.map +1 -1
- package/dist/tools/tasks.d.ts +2 -0
- package/dist/tools/tasks.js +6 -3
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/teams.d.ts +4 -0
- package/dist/tools/teams.js +8 -7
- package/dist/tools/teams.js.map +1 -1
- package/dist/tools/users.d.ts +2 -0
- package/dist/tools/users.js +6 -3
- package/dist/tools/users.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/validation.d.ts +7 -0
- package/dist/validation.js +26 -0
- package/dist/validation.js.map +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +4 -0
- package/dist/version.js.map +1 -0
- package/package.json +3 -3
package/dist/tools/users.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,IAAwD;YACvE,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI,GAAG,eAAe,GAAG,mFAAmF,CAAC;YACjH,IAAI,IAAI,CAAC,MAAM;gBAAE,IAAI,IAAI,YAAY,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,gBAAgB,OAAO,cAAc,OAAO,GAAG,CAAC;gBACnE,IAAI,IAAI,YAAY,kBAAkB,CAAC,UAAU,CAAC,cAAc,CAAC;gBACjE,OAAO,CAAC,gBAAgB,GAAG,UAAU,CAAC;YACxC,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAU,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,IAAuB;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC3B,GAAG,QAAQ,8GAA8G,CAC1H,CAAC;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,IAAuB;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC3B,GAAG,QAAQ,iEAAiE,CAC7E,CAAC;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,uFAAuF;QACpG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC3F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBACvD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;aACzE;SACF;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yDAAyD;QACtE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAC7E;SACF;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,oCAAoC;QACjD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAC7E;SACF;KACF;CACF,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Shared result limits also protect callers using the tool helpers directly. */
|
|
2
|
+
export declare function normalizeTop(value: number | undefined, fallback: number): number;
|
|
3
|
+
/** Compile the advertised schemas once and enforce them before tool dispatch. */
|
|
4
|
+
export declare function createArgumentValidator(tools: readonly {
|
|
5
|
+
name: string;
|
|
6
|
+
inputSchema: unknown;
|
|
7
|
+
}[]): (name: string, args: unknown) => void;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AjvJsonSchemaValidator } from "@modelcontextprotocol/sdk/validation/ajv";
|
|
2
|
+
/** Shared result limits also protect callers using the tool helpers directly. */
|
|
3
|
+
export function normalizeTop(value, fallback) {
|
|
4
|
+
if (value === undefined)
|
|
5
|
+
return fallback;
|
|
6
|
+
if (!Number.isInteger(value) || value < 1 || value > 500) {
|
|
7
|
+
throw new Error("top must be an integer between 1 and 500");
|
|
8
|
+
}
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
/** Compile the advertised schemas once and enforce them before tool dispatch. */
|
|
12
|
+
export function createArgumentValidator(tools) {
|
|
13
|
+
const provider = new AjvJsonSchemaValidator();
|
|
14
|
+
const validators = new Map(tools.map((tool) => [
|
|
15
|
+
tool.name, provider.getValidator(tool.inputSchema),
|
|
16
|
+
]));
|
|
17
|
+
return (name, args) => {
|
|
18
|
+
const validator = validators.get(name);
|
|
19
|
+
if (!validator)
|
|
20
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
21
|
+
const result = validator(args);
|
|
22
|
+
if (!result.valid)
|
|
23
|
+
throw new Error(`Invalid arguments for ${name}: ${result.errorMessage}`);
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAGlF,iFAAiF;AACjF,MAAM,UAAU,YAAY,CAAC,KAAyB,EAAE,QAAgB;IACtE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,uBAAuB,CAAC,KAAwD;IAC9F,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,WAA6B,CAAC;KACrE,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAY,EAAE,IAAa,EAAQ,EAAE;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9F,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VERSION: string;
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,gEAAgE;AAChE,MAAM,CAAC,MAAM,OAAO,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAyB,CAAC,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sam2kb/m365-mcp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Production-grade Microsoft 365 MCP server — email, calendar, contacts, OneDrive, Teams, tasks, and users via delegated OAuth",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"access": "public"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"@modelcontextprotocol/sdk": "^1.
|
|
46
|
+
"@modelcontextprotocol/sdk": "^1.32.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
49
|
"@types/node": "^20.10.0",
|
|
50
50
|
"tsx": "^4.7.0",
|
|
51
51
|
"typescript": "^5.3.0",
|
|
52
|
-
"vitest": "^
|
|
52
|
+
"vitest": "^4.1.11"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
|
55
55
|
"node": ">=18"
|