鸭叫(Quack)是一个基于模型上下文协议(MCP)构建的Python代码分析服务器。它支持多种代码分析工具,还能通过C语言扩展(C Extension)与Visual Studio Code集成,为Python开发提供实时反馈,助力开发者高效完成代码编写。
python3 quack.py --stdio
默认情况下,服务器绑定本地IP地址的8000端口。要指定其他主机或端口,请使用以下命令:
python3 quack.py --stdio --host <主机> --port <端口>
以下是包含多种问题的示例代码,用于测试服务器的功能:
# 错误用法示例:
unused_var = 42 # 未使用的变量
x = 10 # 单字母变量名
print("Hello, World!") # 缺少换行符
# 类型错误示例:
def add(a: int, b: int) -> int:
return a + b
result = add("5", 10) # 类型错误:字符串和整数相加
将此代码粘贴到C语言扩展中,Quack服务器会自动检测并报告问题。
在运行Quack之前,请确保安装了以下工具:
然后安装所需的Python包:
pip install quack
鸭叫服务器有两种运行模式:标准输入输出模式和流式交换扩展模式。
直接运行Python脚本:
python3 -m quack.server --stdio
默认情况下,服务器监听本地IP地址的8000端口。要指定不同的主机或端口,请使用以下命令:
python3 -m quack.server --stdio --host <主机> --port <端口>
通过Docker运行:
docker run -p 8000:8000 quack/mcp-server
创建配置文件quack_server_config.json,并添加以下内容:
{
"name": "Python Linter",
"command": "python3 -m quack.server --stdio",
"args": [],
"stdinHandler": {
"type": "stdio"
},
"schemes": ["file"],
"language": "python",
"dllLoadMessage": ""
}
将此配置文件添加到Visual Studio Code的settings.json中:
{
"extensions.csharpEnableCodeLens": false,
"extensions.csharpShowSnippetsOnHover": false,
"extensions.pythonVSQuackServer": "/path/to/quack_server_config.json"
}
在终端中运行:
python3 -m quack.server --stdio
然后使用以下命令与服务器交互:
# 提交新作业
curl -X POST http://localhost:8000/queue \
-H "Content-Type: application/json" \
-d '{"tool":"pylint","content":"print(\"Hello, World!\")"}'
# 检查作业状态
curl http://localhost:8000/queue/
# 获取分析结果
curl http://localhost:8000/results/
通过以下命令访问:
http://localhost:8000/sse
鸭叫(Quack)服务器基于模型上下文协议(MCP)构建,支持多种代码分析工具。它通过C语言扩展与Visual Studio Code集成,为Python开发提供实时反馈。服务器有标准输入输出模式和流式交换扩展模式两种运行方式,可满足不同的使用场景。
文档中未提及许可证相关信息。
如需了解更多信息,请访问官方文档。