Skip to main content
Glama
test.sh3.73 kB
#!/bin/bash # YApi MCP Server 测试脚本 set -e # 颜色输出 GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color echo -e "${GREEN}=== YApi MCP Server 测试 ===${NC}\n" # 检查Go是否安装 if ! command -v go &> /dev/null; then echo -e "${RED}错误: 未找到Go,请先安装Go${NC}" exit 1 fi echo -e "${YELLOW}Go版本:${NC}" go version echo "" # 安装依赖 echo -e "${YELLOW}安装Go依赖...${NC}" go mod download go mod tidy echo "" # 设置环境变量(如果未设置) if [ -z "$YAPI_BASE_URL" ]; then export YAPI_BASE_URL="http://localhost" echo -e "${YELLOW}YAPI_BASE_URL未设置,使用默认值: http://localhost${NC}" fi if [ -z "$YAPI_TOKEN" ]; then echo -e "${YELLOW}YAPI_TOKEN未设置(可选)${NC}" echo -e "${YELLOW}提示: 如果需要访问需要认证的YApi实例,请设置: export YAPI_TOKEN='your-token'${NC}" else echo -e "${GREEN}YAPI_TOKEN已设置${NC}" fi echo "" # 测试1: 初始化 echo -e "${GREEN}测试1: 初始化请求${NC}" if command -v jq &> /dev/null; then echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}' | go run . | jq . else echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test-client","version":"1.0.0"}}}' | go run . fi echo "" # 测试2: 列出工具 echo -e "${GREEN}测试2: 列出可用工具${NC}" if command -v jq &> /dev/null; then echo '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | go run . | jq . else echo '{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | go run . fi echo "" # 测试3: 调用工具(需要有效的YApi URL) if [ -n "$1" ]; then TEST_URL="$1" else TEST_URL="http://yapi.example.com/project/123/interface/api/456" fi echo -e "${GREEN}测试3: 调用get_yapi_interface工具${NC}" echo -e "${YELLOW}使用URL: $TEST_URL${NC}" if command -v jq &> /dev/null; then echo "{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/call\",\"params\":{\"name\":\"get_yapi_interface\",\"arguments\":{\"url\":\"$TEST_URL\"}}}" | go run . | jq . else echo "{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/call\",\"params\":{\"name\":\"get_yapi_interface\",\"arguments\":{\"url\":\"$TEST_URL\"}}}" | go run . fi echo "" # 测试4: 获取项目接口列表 if [ -n "$2" ]; then PROJECT_URL="$2" else PROJECT_URL="http://yapi.example.com/project/123" fi echo -e "${GREEN}测试4: 获取项目接口列表${NC}" echo -e "${YELLOW}使用项目URL: $PROJECT_URL${NC}" if command -v jq &> /dev/null; then echo "{\"jsonrpc\":\"2.0\",\"id\":4,\"method\":\"tools/call\",\"params\":{\"name\":\"get_yapi_project_interfaces\",\"arguments\":{\"project_url\":\"$PROJECT_URL\"}}}" | go run . | jq . else echo "{\"jsonrpc\":\"2.0\",\"id\":4,\"method\":\"tools/call\",\"params\":{\"name\":\"get_yapi_project_interfaces\",\"arguments\":{\"project_url\":\"$PROJECT_URL\"}}}" | go run . fi echo "" echo -e "${GREEN}=== 测试完成 ===${NC}" echo "" echo "提示:" echo " - 使用 jq 可以更好地格式化JSON输出: brew install jq" echo " - 传入自定义URL测试: ./test.sh 'http://your-yapi.com/project/123/interface/api/456'" echo "" echo "环境变量设置:" echo " - 设置YApi基础URL: export YAPI_BASE_URL='http://your-yapi.com'" echo " - 设置YApi Token: export YAPI_TOKEN='your-token'" echo "" echo "如何获取YApi Token:" echo " 1. 登录YApi系统" echo " 2. 进入项目设置页面" echo " 3. 在'Token配置'或'接口设置'中找到Token" echo " 4. 复制Token并设置: export YAPI_TOKEN='your-token'"

Latest Blog Posts

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/KO-Good-code/yapi-mcp-server'

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