Skip to main content
Glama

Employee Management MCP Server

by y735832496
test_mcp_server.py4.25 kB
#!/usr/bin/env python3 """ MCP服务器测试脚本 用于测试员工管理系统MCP服务器的各项功能 """ import asyncio import json import sys import os # 添加src目录到Python路径 sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src')) from src.tools.api_proxy import EmployeeManagementTools async def test_tools(): """测试所有工具""" print("🧪 开始测试MCP服务器工具...") # 创建工具实例 tools = EmployeeManagementTools() # 测试1: 获取所有工具定义 print("\n1. 测试工具定义获取...") all_tools = tools.get_all_tools() print(f"✅ 成功获取 {len(all_tools)} 个工具:") for tool in all_tools: print(f" - {tool.name}: {tool.description}") # 测试2: 测试工具参数验证 print("\n2. 测试工具参数验证...") # 测试get_employee_by_id工具 test_tool = tools.get_employee_by_id_tool() print(f"✅ {test_tool.name} 工具定义:") print(f" 描述: {test_tool.description}") print(f" 参数: {json.dumps(test_tool.inputSchema, indent=2, ensure_ascii=False)}") # 测试add_employee工具 add_tool = tools.add_employee_tool() print(f"✅ {add_tool.name} 工具定义:") print(f" 描述: {add_tool.description}") print(f" 必需参数: {add_tool.inputSchema.get('required', [])}") print("\n✅ 所有工具定义测试通过!") # 测试3: 模拟工具执行(不实际调用API) print("\n3. 测试工具执行逻辑...") # 模拟参数验证 test_args = {"userId": 1001} if tools.validate_arguments(test_args): print("✅ 参数验证通过") else: print("❌ 参数验证失败") # 测试错误响应格式化 error_response = tools.format_error_response("测试错误") print(f"✅ 错误响应格式化: {error_response}") # 测试成功响应格式化 success_response = tools.format_success_response({"test": "data"}, "测试成功") print(f"✅ 成功响应格式化: {success_response}") print("\n✅ 所有测试通过!") def test_config(): """测试配置加载""" print("\n🔧 测试配置加载...") try: from src.config.settings import settings print(f"✅ MCP服务器配置:") print(f" 主机: {settings.mcp_host}") print(f" 端口: {settings.mcp_port}") print(f" API基础URL: {settings.api_base_url}") print(f" API超时: {settings.api_timeout}秒") print(f" 日志级别: {settings.log_level}") print("✅ 配置加载成功!") except Exception as e: print(f"❌ 配置加载失败: {e}") def test_models(): """测试数据模型""" print("\n📋 测试数据模型...") try: from src.models.schemas import Employee, EmployeeSearchParams # 测试Employee模型 employee_data = { "firstName": "三", "lastName": "张", "salary": 8000.0, "currency": "CNY", "birthdate": "1990-01-01", "isActive": True, "level": "3" } employee = Employee(**employee_data) print(f"✅ Employee模型创建成功: {employee.firstName} {employee.lastName}") # 测试搜索参数模型 search_params = EmployeeSearchParams(lastName="张", isActive=True) print(f"✅ 搜索参数模型创建成功: {search_params}") print("✅ 数据模型测试通过!") except Exception as e: print(f"❌ 数据模型测试失败: {e}") async def main(): """主测试函数""" print("🚀 MCP服务器测试开始") print("=" * 50) # 测试配置 test_config() # 测试数据模型 test_models() # 测试工具 await test_tools() print("\n" + "=" * 50) print("🎉 所有测试完成!") print("\n📝 下一步:") print("1. 确保后端API服务已启动 (http://localhost:10086)") print("2. 运行 'python main.py' 启动MCP服务器") print("3. 使用MCP客户端连接服务器进行测试") if __name__ == "__main__": asyncio.run(main())

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/y735832496/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server