使用说明
DevServer MCP
管理LLM辅助工作流开发服务器的模型上下文协议(MCP)服务器。通过具有简单TUI的统一界面提供对多个开发服务器的编程控制,以及通过Playwright实现的实验性浏览器自动化。
您还可以通过TUI单击打开和关闭服务器。
项目状态
这两者都是 阿尔法 软件和vibe编码练习;这个代码库的大部分是在LLM工具的帮助下编写的。
测试验证了一些功能,如果你碰巧需要YMMV的功能,服务器已经很有用了。
特性
- 🚀 流程管理:启动、停止和监视多个开发服务器
- 📊 富途:具有实时日志流的交互式终端界面
- 🌐 浏览器自动化:用于web测试和自动化的实验性Playwright集成
- 🔧 LLM集成:完全支持人工智能辅助开发工作流程的MCP协议
安装
uv add --dev git+https://github.com/Uninen/devserver-mcp.git --tag v0.6.0
剧作家(可选)
如果你想使用实验性的Playwright浏览器自动化功能,你必须手动安装Playwright:
# Install Playwright
uv add playwright
# Install browser drivers
playwright install
快速开始
创建一个 devservers.yml 项目根目录中的文件:
servers:
backend:
command: 'python manage.py runserver'
working_dir: '.'
port: 8000
frontend:
command: 'npm run dev'
working_dir: './frontend'
port: 3000
autostart: true
worker:
command: 'celery -A myproject worker -l info'
working_dir: '.'
port: 5555
prefix_logs: false
# Optional: Enable experimental Playwright browser automation
experimental:
playwright: true
配置
VS Code
添加到 .vscode/mcp.json:
{
"servers": {
"devserver": {
"url": "http://localhost:3001/mcp/",
"type": "http"
}
}
}
然后在单独的终端中运行TUI: devservers
克劳德代码
在本地安装服务器:
claude mcp add --transport http devservers http://localhost:3001/mcp/
..或用于项目(将其保存到 .mcp.json 在项目中):
claude mcp add -s project --transport http devservers http://localhost:3001/mcp/
然后在单独的终端中运行TUI: devservers
双子星命令行工具
在中添加服务器配置 settings.json (~/.gemini/settings.json 全球或 .gemini/settings.json 每个项目, 请参阅文档):
...
"mcpServers": {
"devservers": {
"httpUrl": "http://localhost:3001/mcp",
"timeout": 5000,
"trust": true
}
},
...
然后在单独的终端中运行TUI: devservers
泽德
Zed尚未原生支持远程MCP服务器,因此您需要使用类似的代理 mcp代理.
您可以在助手设置->上下文服务器->添加自定义服务器中使用UI,并添加名称“Devservers”和
命令 uvx mcp-proxy --transport streamablehttp http://localhost:3001/mcp/,或者,您可以手动将其添加到Zed配置中:
"context_servers": {
"devservers": {
"command": {
"path": "uvx",
"args": ["mcp-proxy", "--transport", "streamablehttp", "http://localhost:3001/mcp/"]
}
}
},
然后在单独的终端中运行TUI: devservers
用法
运行MCP服务器TUI
在终端中启动TUI:
devservers
现在,您可以监视和控制devserver并查看日志,同时还可以让LLM完全访问服务器及其日志。
MCP工具可用
服务器为LLM交互提供了以下工具:
服务器管理
- start_server(名称) -启动已配置的服务器
- stop_server(名称) -停止服务器(托管或外部)
- get_devserver_statuses() -获取所有服务器状态
- get_devserver_logs(名称、偏移量、限制、反向) -获取支持分页的日志
offset:起始位置(默认值:0,负值从末尾开始计数)limit:要返回的最大日志数(默认值:100)reverse:最新优先为True,最旧优先为False(默认值:True)
浏览器自动化(实验)
当 experimental.playwright 在配置中设置:
- 浏览器导航(url,等待) -将浏览器导航到具有等待条件的URL
- 浏览器快照() -捕获当前页面的可访问性快照
- browser_console_message(清除、偏移、限制、反转) -获取带有分页的控制台消息
clear:检索后清除消息(默认值:False)offset:起始位置(默认值:0,负值从末尾开始计数)limit:要返回的最大消息数(默认值:100)reverse:最新优先为True,最旧优先为False(默认值:True)
- 浏览器链接(ref) -使用CSS选择器或元素引用单击页面上的元素
- browser_type(ref、text、submit、slow) -使用可选的提交(Enter键)和慢速键入模式在元素中键入文本
- browser_resize(宽度、高度) -将浏览器视口调整为指定尺寸
- browser_screenshot(完整页面,名称) -截取当前页面的屏幕截图
full_page:捕获整页而不是视口(默认值:False)name:屏幕截图的可选文件名(默认:带时间戳的名称)
开发中
使用MCP检查器
- 启动服务器:
devservers - 启动MCP检查器:
npx @modelcontextprotocol/inspector http://localhost:3001
编写MCP检查器脚本
- 启动服务器:
devservers - 在CLI模式下使用MCP检查器,例如:
npx @modelcontextprotocol/inspector --cli http://localhost:3001 --method tools/call --tool-name start_server --tool-arg name=frontend
别处
- 跟随 unessa.net 在 Bluesky 或 @uninen 在 Twitter 上
- 阅读我从Vite/Vue/TypeScript和其他Web开发主题中不断更新的学习内容 今天我学习了网站
贡献
欢迎投稿!请遵循 行为准则 当与他人互动时。