@mikoto_zero/minigame-open-mcp 1.1.3 → 1.1.4
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/dist/server.js +4 -84
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
6
6
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
7
|
-
import { CallToolRequestSchema, ListToolsRequestSchema,
|
|
7
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
|
|
8
8
|
import process from 'node:process';
|
|
9
9
|
// 导入配置和工具定义
|
|
10
10
|
import { ApiConfig } from './network/httpClient.js';
|
|
11
11
|
import { getToolDefinitions } from './config/toolDefinitions.js';
|
|
12
|
-
import { getResourceDefinitions, RESOURCE_URI_MAP } from './config/resourceDefinitions.js';
|
|
13
|
-
import { getPromptDefinitions } from './config/promptDefinitions.js';
|
|
14
12
|
import { logger } from './utils/logger.js';
|
|
15
13
|
// 导入文档工具
|
|
16
14
|
import { leaderboardTools } from './tools/leaderboardTools.js';
|
|
@@ -18,7 +16,6 @@ import { leaderboardTools } from './tools/leaderboardTools.js';
|
|
|
18
16
|
import * as appHandlers from './handlers/appHandlers.js';
|
|
19
17
|
import * as leaderboardHandlers from './handlers/leaderboardHandlers.js';
|
|
20
18
|
import * as environmentHandlers from './handlers/environmentHandlers.js';
|
|
21
|
-
import * as promptHandlers from './handlers/promptHandlers.js';
|
|
22
19
|
// 环境变量配置
|
|
23
20
|
const apiConfig = ApiConfig.getInstance();
|
|
24
21
|
const TDS_MCP_MAC_TOKEN = apiConfig.macToken;
|
|
@@ -30,7 +27,7 @@ class TapTapMinigameMCPServer {
|
|
|
30
27
|
constructor() {
|
|
31
28
|
this.server = new Server({
|
|
32
29
|
name: 'taptap-minigame-mcp',
|
|
33
|
-
version: '1.1.
|
|
30
|
+
version: '1.1.4',
|
|
34
31
|
});
|
|
35
32
|
this.context = {
|
|
36
33
|
projectPath: TDS_MCP_PROJECT_PATH,
|
|
@@ -70,77 +67,6 @@ class TapTapMinigameMCPServer {
|
|
|
70
67
|
throw new McpError(ErrorCode.InternalError, `工具执行失败: ${error instanceof Error ? error.message : String(error)}`);
|
|
71
68
|
}
|
|
72
69
|
});
|
|
73
|
-
// 设置资源列表处理器
|
|
74
|
-
this.server.setRequestHandler(ListResourcesRequestSchema, async () => ({
|
|
75
|
-
resources: getResourceDefinitions()
|
|
76
|
-
}));
|
|
77
|
-
// 设置资源读取处理器
|
|
78
|
-
this.server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
79
|
-
const uri = request.params.uri;
|
|
80
|
-
logger.logToolCall(`ReadResource: ${uri}`, {});
|
|
81
|
-
try {
|
|
82
|
-
const content = await this.handleResourceRead(uri);
|
|
83
|
-
logger.logToolResponse(`ReadResource: ${uri}`, content.substring(0, 500), true);
|
|
84
|
-
return {
|
|
85
|
-
contents: [
|
|
86
|
-
{
|
|
87
|
-
uri: uri,
|
|
88
|
-
mimeType: 'text/markdown',
|
|
89
|
-
text: content
|
|
90
|
-
}
|
|
91
|
-
]
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
logger.logToolResponse(`ReadResource: ${uri}`, error instanceof Error ? error.message : String(error), false);
|
|
96
|
-
throw new McpError(ErrorCode.InternalError, `资源读取失败: ${error instanceof Error ? error.message : String(error)}`);
|
|
97
|
-
}
|
|
98
|
-
});
|
|
99
|
-
// 设置提示列表处理器
|
|
100
|
-
this.server.setRequestHandler(ListPromptsRequestSchema, async () => ({
|
|
101
|
-
prompts: getPromptDefinitions()
|
|
102
|
-
}));
|
|
103
|
-
// 设置提示获取处理器
|
|
104
|
-
this.server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
105
|
-
const { name, arguments: args } = request.params;
|
|
106
|
-
logger.logToolCall(`GetPrompt: ${name}`, args || {});
|
|
107
|
-
try {
|
|
108
|
-
const prompt = await this.handlePromptGet(name, args || {});
|
|
109
|
-
logger.logToolResponse(`GetPrompt: ${name}`, JSON.stringify(prompt).substring(0, 500), true);
|
|
110
|
-
return prompt;
|
|
111
|
-
}
|
|
112
|
-
catch (error) {
|
|
113
|
-
logger.logToolResponse(`GetPrompt: ${name}`, error instanceof Error ? error.message : String(error), false);
|
|
114
|
-
throw new McpError(ErrorCode.InternalError, `提示获取失败: ${error instanceof Error ? error.message : String(error)}`);
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* 处理资源读取 - 路由到对应的文档工具
|
|
120
|
-
*/
|
|
121
|
-
async handleResourceRead(uri) {
|
|
122
|
-
const handlerKey = RESOURCE_URI_MAP[uri];
|
|
123
|
-
if (!handlerKey) {
|
|
124
|
-
throw new Error(`Unknown resource URI: ${uri}`);
|
|
125
|
-
}
|
|
126
|
-
// Map to leaderboardTools methods
|
|
127
|
-
const toolMethod = leaderboardTools[handlerKey];
|
|
128
|
-
if (typeof toolMethod !== 'function') {
|
|
129
|
-
throw new Error(`Handler not found for resource: ${uri}`);
|
|
130
|
-
}
|
|
131
|
-
return await toolMethod();
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* 处理提示获取 - 路由到对应的提示处理器
|
|
135
|
-
*/
|
|
136
|
-
async handlePromptGet(name, args) {
|
|
137
|
-
if (name === 'leaderboard-integration') {
|
|
138
|
-
return promptHandlers.getLeaderboardIntegrationPrompt(args);
|
|
139
|
-
}
|
|
140
|
-
if (name === 'leaderboard-troubleshooting') {
|
|
141
|
-
return promptHandlers.getLeaderboardTroubleshootingPrompt(args);
|
|
142
|
-
}
|
|
143
|
-
throw new Error(`Unknown prompt: ${name}`);
|
|
144
70
|
}
|
|
145
71
|
/**
|
|
146
72
|
* 处理工具调用 - 路由到对应的处理器
|
|
@@ -214,17 +140,11 @@ class TapTapMinigameMCPServer {
|
|
|
214
140
|
const transport = new StdioServerTransport();
|
|
215
141
|
await this.server.connect(transport);
|
|
216
142
|
const tools = getToolDefinitions();
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
process.stderr.write('🚀 TapTap Minigame MCP Server Started\n');
|
|
220
|
-
process.stderr.write(`📚 Providing ${tools.length} tools, ${resources.length} resources, ${prompts.length} prompts\n`);
|
|
143
|
+
process.stderr.write('🚀 TapTap Open API MCP Server Started (Minigame & H5)\n');
|
|
144
|
+
process.stderr.write(`📚 Providing ${tools.length} tools\n`);
|
|
221
145
|
process.stderr.write('🏆 Features: Leaderboard Documentation & Management API\n');
|
|
222
146
|
process.stderr.write(`🌍 Environment: ${apiConfig.environment}\n`);
|
|
223
147
|
process.stderr.write(`🔗 API Base: ${apiConfig.apiBaseUrl}\n`);
|
|
224
|
-
process.stderr.write('\n📖 MCP Capabilities:\n');
|
|
225
|
-
process.stderr.write(` ✅ Tools (${tools.length}) - Execute operations with side effects\n`);
|
|
226
|
-
process.stderr.write(` ✅ Resources (${resources.length}) - Read-only documentation and data\n`);
|
|
227
|
-
process.stderr.write(` ✅ Prompts (${prompts.length}) - Reusable workflow templates\n`);
|
|
228
148
|
if (logger.isVerbose()) {
|
|
229
149
|
process.stderr.write('\n🔍 Verbose logging enabled (TAPTAP_MINIGAME_MCP_VERBOSE=true)\n');
|
|
230
150
|
process.stderr.write(' - Tool call inputs and outputs will be logged\n');
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikoto_zero/minigame-open-mcp",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "TapTap Open API MCP Server - Documentation and Management APIs for TapTap Minigame and H5 Games (Leaderboard, and more features coming)",
|
|
6
6
|
"main": "dist/server.js",
|