qwen-mcp-manager
Version:
MCP Server for managing other MCP servers in qwen-code
55 lines (54 loc) • 1.98 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMcpPackage = void 0;
exports.getMcpPackage = {
name: 'get_mcp_package',
description: '获取包详情',
inputSchema: {}, // This will be loaded from the JSON schema file
handler: async (args, context) => {
const { name, version } = args;
const { registry } = context;
try {
const pkg = await registry.getPackage(name, version);
// Format the package details as a text string (支持 stdio/http 两种形态)
let mcpBlock = '';
const anyMcp = pkg.mcp;
if ('httpUrl' in anyMcp) {
mcpBlock = `MCP 配置:\n 类型: http\n URL: ${anyMcp.httpUrl}\n 头: ${anyMcp.headers ? Object.keys(anyMcp.headers).join(', ') : 'N/A'}`;
}
else {
mcpBlock = `MCP 配置:\n 类型: stdio\n 命令: ${anyMcp.command}\n 参数: ${anyMcp.args?.join(' ') || 'N/A'}\n 环境变量: ${Object.entries(anyMcp.env || {}).map(([k, v]) => `${k}=${v}`).join(', ') || 'N/A'}\n 工作目录: ${anyMcp.cwd || 'N/A'}`;
}
const details = `
名称: ${pkg.name}
版本: ${pkg.version}
描述: ${pkg.description}
作者: ${pkg.author}
仓库: ${pkg.repository || 'N/A'}
主页: ${pkg.homepage || 'N/A'}
许可证: ${pkg.license || 'N/A'}
关键词: ${pkg.keywords?.join(', ') || 'N/A'}
${mcpBlock}
`.trim();
return {
content: [
{
type: 'text',
text: details
}
]
};
}
catch (error) {
return {
content: [
{
type: 'text',
text: `获取包详情失败: ${error.message}`
}
]
};
}
}
};
//# sourceMappingURL=get_mcp_package.js.map