@superinbox/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/README.md +40 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +196 -0
- package/dist/index.js.map +1 -0
- package/package.json +34 -0
package/README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# @superinbox/mcp-server
|
|
2
|
+
|
|
3
|
+
SuperInbox MCP server over stdio.
|
|
4
|
+
|
|
5
|
+
## Runtime environment variables
|
|
6
|
+
|
|
7
|
+
- `SUPERINBOX_BASE_URL`: SuperInbox backend base URL (default: `http://127.0.0.1:3000`)
|
|
8
|
+
- `SUPERINBOX_API_KEY`: SuperInbox API key (required)
|
|
9
|
+
|
|
10
|
+
## Usage (MCP client config)
|
|
11
|
+
|
|
12
|
+
```json
|
|
13
|
+
{
|
|
14
|
+
"mcpServers": {
|
|
15
|
+
"superinbox": {
|
|
16
|
+
"command": "npx",
|
|
17
|
+
"args": ["-y", "@superinbox/mcp-server"],
|
|
18
|
+
"env": {
|
|
19
|
+
"SUPERINBOX_BASE_URL": "https://superinbox.top",
|
|
20
|
+
"SUPERINBOX_API_KEY": "sk_xxx"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Development
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install
|
|
31
|
+
npm run build
|
|
32
|
+
SUPERINBOX_BASE_URL=http://127.0.0.1:3000 SUPERINBOX_API_KEY=sk_xxx node dist/index.js
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Publish
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
npm login
|
|
39
|
+
npm publish --access public
|
|
40
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;GAEG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* SuperInbox MCP Server (stdio)
|
|
4
|
+
*/
|
|
5
|
+
import axios from 'axios';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
8
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
9
|
+
const DEFAULT_BASE_URL = 'http://127.0.0.1:3000';
|
|
10
|
+
const getApiKey = () => process.env.SUPERINBOX_API_KEY;
|
|
11
|
+
const getBaseUrl = () => process.env.SUPERINBOX_BASE_URL || DEFAULT_BASE_URL;
|
|
12
|
+
const http = axios.create({
|
|
13
|
+
baseURL: getBaseUrl(),
|
|
14
|
+
timeout: 30000,
|
|
15
|
+
proxy: false
|
|
16
|
+
});
|
|
17
|
+
const toolError = (message) => ({
|
|
18
|
+
content: [{ type: 'text', text: message }],
|
|
19
|
+
isError: true
|
|
20
|
+
});
|
|
21
|
+
const toolOk = (payload) => ({
|
|
22
|
+
content: [{ type: 'text', text: JSON.stringify(payload, null, 2) }]
|
|
23
|
+
});
|
|
24
|
+
const applyLocalTimestamps = (payload) => {
|
|
25
|
+
if (!payload || typeof payload !== 'object') {
|
|
26
|
+
return payload;
|
|
27
|
+
}
|
|
28
|
+
if (Array.isArray(payload)) {
|
|
29
|
+
return payload.map(item => applyLocalTimestamps(item));
|
|
30
|
+
}
|
|
31
|
+
const data = payload;
|
|
32
|
+
const next = { ...data };
|
|
33
|
+
if (Array.isArray(next.entries)) {
|
|
34
|
+
next.entries = next.entries.map(entry => applyLocalTimestamps(entry));
|
|
35
|
+
}
|
|
36
|
+
if (typeof next.createdAtLocal === 'string') {
|
|
37
|
+
next.createdAt = next.createdAtLocal;
|
|
38
|
+
}
|
|
39
|
+
if (typeof next.updatedAtLocal === 'string') {
|
|
40
|
+
next.updatedAt = next.updatedAtLocal;
|
|
41
|
+
}
|
|
42
|
+
delete next.createdAtLocal;
|
|
43
|
+
delete next.updatedAtLocal;
|
|
44
|
+
return next;
|
|
45
|
+
};
|
|
46
|
+
const request = async (method, url, options) => {
|
|
47
|
+
const apiKey = getApiKey();
|
|
48
|
+
if (!apiKey) {
|
|
49
|
+
return { ok: false, message: 'SUPERINBOX_API_KEY is not set' };
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const response = await http.request({
|
|
53
|
+
method,
|
|
54
|
+
url,
|
|
55
|
+
params: options?.params,
|
|
56
|
+
data: options?.data,
|
|
57
|
+
headers: {
|
|
58
|
+
Authorization: `Bearer ${apiKey}`
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return { ok: true, data: response.data };
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (axios.isAxiosError(error)) {
|
|
65
|
+
const status = error.response?.status;
|
|
66
|
+
const data = error.response?.data;
|
|
67
|
+
const details = typeof data === 'string' ? data : JSON.stringify(data ?? {});
|
|
68
|
+
const statusText = status ? ` (HTTP ${status})` : '';
|
|
69
|
+
return { ok: false, message: `SuperInbox request failed${statusText}: ${details}` };
|
|
70
|
+
}
|
|
71
|
+
return { ok: false, message: `SuperInbox request failed: ${String(error)}` };
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const mcpServer = new McpServer({
|
|
75
|
+
name: 'superinbox-mcp',
|
|
76
|
+
version: '0.1.0'
|
|
77
|
+
});
|
|
78
|
+
const itemTypeSchema = z.enum(['text', 'image', 'url', 'audio', 'file', 'mixed']);
|
|
79
|
+
const createItemSchema = z.object({
|
|
80
|
+
content: z.string().min(1),
|
|
81
|
+
type: itemTypeSchema.optional(),
|
|
82
|
+
source: z.string().max(100).optional(),
|
|
83
|
+
metadata: z.record(z.unknown()).optional()
|
|
84
|
+
});
|
|
85
|
+
const listItemsSchema = z.object({
|
|
86
|
+
page: z.number().int().positive().optional(),
|
|
87
|
+
limit: z.number().int().positive().max(100).optional(),
|
|
88
|
+
status: z.string().optional(),
|
|
89
|
+
category: z.string().optional(),
|
|
90
|
+
source: z.string().optional(),
|
|
91
|
+
query: z.string().optional(),
|
|
92
|
+
hastype: z.enum(['image', 'audio', 'file', 'text', 'url']).optional(),
|
|
93
|
+
since: z.string().optional(),
|
|
94
|
+
startDate: z.string().optional(),
|
|
95
|
+
endDate: z.string().optional(),
|
|
96
|
+
sortBy: z.enum(['createdAt', 'updatedAt']).optional(),
|
|
97
|
+
sortOrder: z.string().optional()
|
|
98
|
+
});
|
|
99
|
+
const searchItemsSchema = z.object({
|
|
100
|
+
q: z.string().min(1),
|
|
101
|
+
category: z.string().optional(),
|
|
102
|
+
limit: z.number().int().positive().max(100).optional()
|
|
103
|
+
});
|
|
104
|
+
const getItemSchema = z.object({
|
|
105
|
+
id: z.string().min(1)
|
|
106
|
+
});
|
|
107
|
+
mcpServer.registerTool('inbox.create', {
|
|
108
|
+
description: 'Create a new inbox item (text/url content only).',
|
|
109
|
+
inputSchema: createItemSchema
|
|
110
|
+
}, async (args) => {
|
|
111
|
+
const result = await request('POST', '/v1/inbox', { data: args });
|
|
112
|
+
if (!result.ok) {
|
|
113
|
+
return toolError(result.message);
|
|
114
|
+
}
|
|
115
|
+
return toolOk(applyLocalTimestamps(result.data));
|
|
116
|
+
});
|
|
117
|
+
mcpServer.registerTool('inbox_create', {
|
|
118
|
+
description: 'Create a new inbox item (text/url content only).',
|
|
119
|
+
inputSchema: createItemSchema
|
|
120
|
+
}, async (args) => {
|
|
121
|
+
const result = await request('POST', '/v1/inbox', { data: args });
|
|
122
|
+
if (!result.ok) {
|
|
123
|
+
return toolError(result.message);
|
|
124
|
+
}
|
|
125
|
+
return toolOk(applyLocalTimestamps(result.data));
|
|
126
|
+
});
|
|
127
|
+
mcpServer.registerTool('inbox.list', {
|
|
128
|
+
description: 'List inbox items with optional filtering and pagination.',
|
|
129
|
+
inputSchema: listItemsSchema
|
|
130
|
+
}, async (args) => {
|
|
131
|
+
const result = await request('GET', '/v1/inbox', { params: args });
|
|
132
|
+
if (!result.ok) {
|
|
133
|
+
return toolError(result.message);
|
|
134
|
+
}
|
|
135
|
+
return toolOk(applyLocalTimestamps(result.data));
|
|
136
|
+
});
|
|
137
|
+
mcpServer.registerTool('inbox_list', {
|
|
138
|
+
description: 'List inbox items with optional filtering and pagination.',
|
|
139
|
+
inputSchema: listItemsSchema
|
|
140
|
+
}, async (args) => {
|
|
141
|
+
const result = await request('GET', '/v1/inbox', { params: args });
|
|
142
|
+
if (!result.ok) {
|
|
143
|
+
return toolError(result.message);
|
|
144
|
+
}
|
|
145
|
+
return toolOk(applyLocalTimestamps(result.data));
|
|
146
|
+
});
|
|
147
|
+
mcpServer.registerTool('inbox.search', {
|
|
148
|
+
description: 'Search inbox items by keyword.',
|
|
149
|
+
inputSchema: searchItemsSchema
|
|
150
|
+
}, async (args) => {
|
|
151
|
+
const result = await request('GET', '/v1/inbox/search', { params: args });
|
|
152
|
+
if (!result.ok) {
|
|
153
|
+
return toolError(result.message);
|
|
154
|
+
}
|
|
155
|
+
return toolOk(applyLocalTimestamps(result.data));
|
|
156
|
+
});
|
|
157
|
+
mcpServer.registerTool('inbox_search', {
|
|
158
|
+
description: 'Search inbox items by keyword.',
|
|
159
|
+
inputSchema: searchItemsSchema
|
|
160
|
+
}, async (args) => {
|
|
161
|
+
const result = await request('GET', '/v1/inbox/search', { params: args });
|
|
162
|
+
if (!result.ok) {
|
|
163
|
+
return toolError(result.message);
|
|
164
|
+
}
|
|
165
|
+
return toolOk(applyLocalTimestamps(result.data));
|
|
166
|
+
});
|
|
167
|
+
mcpServer.registerTool('inbox.get', {
|
|
168
|
+
description: 'Get an inbox item by id.',
|
|
169
|
+
inputSchema: getItemSchema
|
|
170
|
+
}, async ({ id }) => {
|
|
171
|
+
const result = await request('GET', `/v1/inbox/${id}`);
|
|
172
|
+
if (!result.ok) {
|
|
173
|
+
return toolError(result.message);
|
|
174
|
+
}
|
|
175
|
+
return toolOk(applyLocalTimestamps(result.data));
|
|
176
|
+
});
|
|
177
|
+
mcpServer.registerTool('inbox_get', {
|
|
178
|
+
description: 'Get an inbox item by id.',
|
|
179
|
+
inputSchema: getItemSchema
|
|
180
|
+
}, async ({ id }) => {
|
|
181
|
+
const result = await request('GET', `/v1/inbox/${id}`);
|
|
182
|
+
if (!result.ok) {
|
|
183
|
+
return toolError(result.message);
|
|
184
|
+
}
|
|
185
|
+
return toolOk(applyLocalTimestamps(result.data));
|
|
186
|
+
});
|
|
187
|
+
const start = async () => {
|
|
188
|
+
const transport = new StdioServerTransport();
|
|
189
|
+
await mcpServer.connect(transport);
|
|
190
|
+
console.error('SuperInbox MCP server running on stdio');
|
|
191
|
+
};
|
|
192
|
+
start().catch((error) => {
|
|
193
|
+
console.error('SuperInbox MCP server failed to start:', error);
|
|
194
|
+
process.exit(1);
|
|
195
|
+
});
|
|
196
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@superinbox/mcp-server",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "SuperInbox MCP server (stdio)",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"superinbox-mcp": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"README.md"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc -p tsconfig.json",
|
|
15
|
+
"clean": "rm -rf dist",
|
|
16
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
17
|
+
},
|
|
18
|
+
"dependencies": {
|
|
19
|
+
"@modelcontextprotocol/sdk": "^1.25.3",
|
|
20
|
+
"axios": "^1.6.5",
|
|
21
|
+
"zod": "^3.22.4"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^20.11.5",
|
|
25
|
+
"typescript": "^5.3.3"
|
|
26
|
+
},
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=18.0.0"
|
|
29
|
+
},
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"access": "public"
|
|
32
|
+
},
|
|
33
|
+
"license": "MIT"
|
|
34
|
+
}
|