@markmnl/fmsg-mcp 0.1.4 → 0.2.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/CHANGELOG.md +58 -0
- package/README.md +128 -26
- package/ROADMAP.md +52 -0
- package/SECURITY.md +78 -0
- package/dist/auth.d.ts +14 -6
- package/dist/auth.js +115 -49
- package/dist/client/client.d.ts +34 -24
- package/dist/client/client.js +152 -105
- package/dist/client/errors.d.ts +19 -0
- package/dist/client/errors.js +51 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/stream.d.ts +12 -0
- package/dist/client/stream.js +83 -0
- package/dist/client/token-provider.d.ts +27 -0
- package/dist/client/token-provider.js +54 -0
- package/dist/client/types.d.ts +8 -4
- package/dist/client/url.d.ts +4 -0
- package/dist/client/url.js +35 -0
- package/dist/client/ws.d.ts +2 -1
- package/dist/client/ws.js +9 -3
- package/dist/config.d.ts +9 -3
- package/dist/config.js +21 -6
- package/dist/context.d.ts +6 -3
- package/dist/context.js +9 -2
- package/dist/download.d.ts +11 -0
- package/dist/download.js +34 -0
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +18 -26
- package/dist/http.d.ts +4 -3
- package/dist/http.js +246 -28
- package/dist/index.js +27 -11
- package/dist/instructions.js +12 -5
- package/dist/oauth/config.d.ts +11 -0
- package/dist/oauth/config.js +46 -0
- package/dist/oauth/errors.d.ts +18 -0
- package/dist/oauth/errors.js +40 -0
- package/dist/oauth/issuer.d.ts +31 -0
- package/dist/oauth/issuer.js +185 -0
- package/dist/oauth/provider.d.ts +23 -0
- package/dist/oauth/provider.js +95 -0
- package/dist/oauth/scopes.d.ts +6 -0
- package/dist/oauth/scopes.js +31 -0
- package/dist/render.d.ts +6 -1
- package/dist/render.js +27 -11
- package/dist/resources.js +18 -9
- package/dist/server.js +4 -0
- package/dist/thread.js +15 -14
- package/dist/tools/common.js +8 -3
- package/dist/tools/download.d.ts +2 -0
- package/dist/tools/download.js +38 -0
- package/dist/tools/identity.js +1 -1
- package/dist/tools/list.js +3 -3
- package/dist/tools/read.js +26 -43
- package/dist/tools/save.d.ts +2 -0
- package/dist/tools/save.js +84 -0
- package/dist/tools/send.js +9 -13
- package/dist/tools/wait.js +8 -6
- package/dist/wait.d.ts +1 -1
- package/dist/wait.js +161 -67
- package/docs/http-deployment.md +81 -0
- package/docs/oauth.md +169 -0
- package/docs/token-providers.md +94 -0
- package/package.json +8 -1
- package/server.json +54 -4
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markmnl/fmsg-mcp",
|
|
3
3
|
"mcpName": "io.github.markmnl/fmsg-mcp",
|
|
4
|
-
"version": "0.1
|
|
4
|
+
"version": "0.2.1",
|
|
5
5
|
"description": "MCP server for fmsg: send and receive federated messages from any AI agent via a deployed fmsg Web API",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"license": "MIT",
|
|
@@ -42,6 +42,12 @@
|
|
|
42
42
|
"dist/**/*.js",
|
|
43
43
|
"dist/**/*.d.ts",
|
|
44
44
|
"README.md",
|
|
45
|
+
"SECURITY.md",
|
|
46
|
+
"CHANGELOG.md",
|
|
47
|
+
"ROADMAP.md",
|
|
48
|
+
"docs/http-deployment.md",
|
|
49
|
+
"docs/token-providers.md",
|
|
50
|
+
"docs/oauth.md",
|
|
45
51
|
"LICENSE",
|
|
46
52
|
"server.json"
|
|
47
53
|
],
|
|
@@ -61,6 +67,7 @@
|
|
|
61
67
|
},
|
|
62
68
|
"dependencies": {
|
|
63
69
|
"@modelcontextprotocol/server": "^2.0.0",
|
|
70
|
+
"jose": "^6.2.12",
|
|
64
71
|
"ws": "^8.21.3",
|
|
65
72
|
"zod": "^4.5.4"
|
|
66
73
|
},
|
package/server.json
CHANGED
|
@@ -1,25 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.markmnl/fmsg-mcp",
|
|
4
|
-
"
|
|
4
|
+
"title": "fmsg",
|
|
5
|
+
"description": "Federated messaging with your fmsg hosting provider. Connect with OAuth or an API key.",
|
|
6
|
+
"websiteUrl": "https://github.com/markmnl/fmsg-mcp#readme",
|
|
5
7
|
"repository": {
|
|
6
8
|
"url": "https://github.com/markmnl/fmsg-mcp",
|
|
7
9
|
"source": "github"
|
|
8
10
|
},
|
|
9
|
-
"version": "0.1
|
|
11
|
+
"version": "0.2.1",
|
|
10
12
|
"packages": [
|
|
11
13
|
{
|
|
12
14
|
"registryType": "npm",
|
|
13
15
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
14
16
|
"identifier": "@markmnl/fmsg-mcp",
|
|
15
|
-
"version": "0.1
|
|
17
|
+
"version": "0.2.1",
|
|
16
18
|
"transport": {
|
|
17
19
|
"type": "stdio"
|
|
18
20
|
},
|
|
19
21
|
"environmentVariables": [
|
|
20
22
|
{
|
|
21
23
|
"name": "FMSG_API_URL",
|
|
22
|
-
"description": "Base URL of
|
|
24
|
+
"description": "Base URL of your hosting provider's or self-hosted fmsg Web API",
|
|
23
25
|
"isRequired": true
|
|
24
26
|
},
|
|
25
27
|
{
|
|
@@ -32,6 +34,54 @@
|
|
|
32
34
|
"name": "FMSG_DEFAULT_DOMAIN",
|
|
33
35
|
"description": "Optional: lets short names resolve to @name@<domain>",
|
|
34
36
|
"isRequired": false
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "FMSG_MCP_DOWNLOAD_DIR",
|
|
40
|
+
"description": "Optional local folder enabling streamed attachment saves over stdio",
|
|
41
|
+
"isRequired": false
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"remotes": [
|
|
47
|
+
{
|
|
48
|
+
"type": "streamable-http",
|
|
49
|
+
"url": "https://{oauth_mcp_endpoint}",
|
|
50
|
+
"variables": {
|
|
51
|
+
"oauth_mcp_endpoint": {
|
|
52
|
+
"description": "OAuth MCP endpoint from your fmsg hosting provider: hostname and path without https://. Sign in through your AI host; no API key needed.",
|
|
53
|
+
"isRequired": true,
|
|
54
|
+
"format": "string",
|
|
55
|
+
"placeholder": "mcp.example.com/mcp"
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "streamable-http",
|
|
61
|
+
"url": "https://{api_key_mcp_endpoint}",
|
|
62
|
+
"variables": {
|
|
63
|
+
"api_key_mcp_endpoint": {
|
|
64
|
+
"description": "API-key MCP endpoint from your fmsg hosting provider: hostname and path without https://. Use an endpoint that accepts your key.",
|
|
65
|
+
"isRequired": true,
|
|
66
|
+
"format": "string",
|
|
67
|
+
"placeholder": "mcp.example.com/mcp"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"headers": [
|
|
71
|
+
{
|
|
72
|
+
"name": "Authorization",
|
|
73
|
+
"description": "Your fmsg API key for the selected MCP endpoint",
|
|
74
|
+
"isRequired": true,
|
|
75
|
+
"isSecret": true,
|
|
76
|
+
"value": "Bearer {api_key}",
|
|
77
|
+
"variables": {
|
|
78
|
+
"api_key": {
|
|
79
|
+
"description": "API key accepted by this endpoint's fmsg Web API, starting with fmsgk_",
|
|
80
|
+
"isRequired": true,
|
|
81
|
+
"isSecret": true,
|
|
82
|
+
"format": "string"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
35
85
|
}
|
|
36
86
|
]
|
|
37
87
|
}
|