DevLens MCP 的
我为杀死Alt Tab而构建的MCP服务器。干净、快速的web上下文,就在您的IDE中。
和大多数开发人员一样,我厌倦了VS Code和浏览器之间的上下文切换。这是我的核心挫折。因此,我构建了DevLens:一个 开放源代码的 MCP服务器,因为我很好奇,想要一个 自定义解决方案 这比现有的工具更轻便。
目标很简单:给你的工作空间提供人工智能(Copilot、Claude等)网络访问权限 结构化的 和 令牌高效DevLens通过三层架构提供了十二种专用工具,该架构专为强大功能和易于部署而构建。
MCP和DevLens的作用是什么?
这 MCP(模型上下文协议) 是让你的人工智能助手调用外部工具(网络搜索、抓取)以超越其训练数据的标准。它为人工智能提供了现实世界和实时性。权力。
DevLens的角色 是网络研究最有效的实现方式。DevLens处理智能(智能编排)并将结果格式化为干净的Markdown。这确保了你的工作空间AI能够接收到它所需的精确上下文,而不会像原始HTML那样混乱或高昂的令牌成本。
为什么选择DevLens(解决流动问题)
DevLens基于两个原则来解决上下文丢失问题: 技术组成性 和 代币效率.
为开发人员工作流而构建
- 已解决的问题: 不再需要在浏览器和编辑器之间进行无用的切换。您的编码流程保持不变。
- 技术优势: 我们的分层架构使用简单的基元,这些基元结合起来非常强大。这意味着比现有的“单片”解决方案更精确、成本更低的工作流程。
- LLM上下文优化: 我们干净、经过令牌优化的Markdown输出是关于 缩小70% 而不是原始HTML。这是在您的聊天中快速、准确地获得AI结果的秘诀。
- 无缝集成IDE: 设计用于完美搭配 VS代码副本和GitHub副本。网络研究直接注入到您的编辑器中。
- 部署就绪: 在本地将其用于自己的工作,或将其部署在服务器上与他人共享。
- 智能编排 --系统自动选择最佳刀具顺序。
- 零配置 --安装,运行。完成。
开发人员角色和用例
| Persona | 问题解决(痛苦) | DevLens解决方案(胜利) |
|---|---|---|
| Nina,前端开发人员 | 需要快速修复(例如,一个CORS配置片段),但讨厌打开5个Stack Overflow选项卡。 | 使用suggest_workflow或search_web+summarize_page在聊天中立即获取经过验证的代码片段。流量保持不变。 |
| 参谋工程师Kenji | 必须比较三个无服务器供应商以做出架构决策。需要一个单一的、明确的数据转储。 | 使用deep_dive同时获取、聚合和分析复杂数据。LLM收到完整的预处理报告。 |
| Sarah,DevOps专家 | 必须每周手动检查第三方部署指南,查看是否有无声的、破坏性的更改。 | 使用monitor_changes被动跟踪关键文档上的内容哈希,仅在实际发生更改时发送警报。 |
工具
DevLens为您提供 12个专用工具--把它想象成一个装满镜头的相机包。选择一个,或让智能系统自动选择:
| 图层 | 隐喻 | 焦点 | 工具 |
|---|---|---|---|
| 原语 | *基础镜片* | 精度和可靠性 | search_web、scrape_url、crawl_docs、summarize_page、extract_links |
| 作曲的 | *多镜头系统* | 便利性和聚合 | 深度_对比_来源,查找_相关,监控_更改 |
| 元 | *自动对焦智能* | 指导与优化 | 建议_工作流、分类_搜索_内容、获取_服务器_文档 |
快速启动(说真的,它很快)
先决条件
- Python 3.12或更高版本
- uv包管理器
安装
# Clone the repository
git clone https://github.com/Y4NN777/devlens-mcp.git
cd devlens-mcp
# Install dependencies
uv sync
# Run the server (STDIO mode)
uv run python -m devlens.server客户端MCP配置
克劳德桌面
将此添加到 claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
选项1:使用启动脚本(推荐-跨平台)
{
"mcpServers": {
"devlens": {
"command": "/absolute/path/to/devlens-mcp/launch_mcp.sh",
"args": []
}
}
}选项2:直接uv命令
{
"mcpServers": {
"devlens": {
"command": "uv",
"args": ["run", "python", "-m", "devlens.server"],
"cwd": "/absolute/path/to/devlens-mcp"
}
}
}VS代码副本(推荐-跨平台)
创建 .vscode/mcp.json 在您的工作空间中:
{
"servers": {
"devlens": {
"command": "/absolute/path/to/devlens-mcp/launch_mcp.sh",
"args": []
}
}
}注: 这 launch_mcp.sh 脚本是 交叉平台的 并自动:
- 检测您的操作系统(Linux/macOS/Windows)
- 把…安置在
uv安装(检查~/.local/bin/uv,~/.cargo/bin/uv,或系统路径) - 使用正确的Python
.venv(.venv/bin/python在Unix上,.venv/Scripts/python.exe在Windows上) - 无需手动配置!
其他MCP客户端
使用STDIO传输:
uv run python -m devlens.server验证安装
测试服务器是否正常工作:
# Test basic functionality
uv run python -c "from devlens.server import mcp; print('DevLens server loaded successfully')"使用示例
手动工具使用
# Simple search
search_web("FastAPI tutorial", limit=5)
# Scrape with metadata
scrape_url("https://docs.python.org", include_metadata=True)
# Multi-source research
deep_dive("Python async best practices", depth=5, parallel=True)
# Compare perspectives
compare_sources("FastAPI vs Flask", ["url1", "url2"])智能编排
# Let DevLens recommend the workflow
suggest_workflow("How to integrate payment API in Burkina Faso?")
# Returns:
# - Primary intent: quick_answer (50% confidence)
# - Workflow: [search_web(limit=3), scrape_url]
# - Suggested parameters optimized for intent
# - Fallback strategies if tools fail根据上下文
# Provide known URLs to skip search
context = ResearchContext(known_urls=["https://docs.stripe.com"])
suggest_workflow("Stripe payment integration guide", context)
# DevLens adapts:
# - Skips search (URLs already known)
# - Goes straight to crawl_docs or scrape_url
# - Optimizes parameters based on intent建筑
DevLens使用了一种简单、有效的分层架构——智能比特引导可靠比特。
- 元层 (情报)->建议工作流程
- 组合层 (方便)->组合图元
- 原始层 (可靠性)->使用适配器
- 外部服务 (真实的互联网)
关键设计原则:
- 可组合性 --处理艰巨任务的微型工具。
- 边缘情报 --聪明的大脑决定,可靠的原始人执行。
- 令牌优化 --最大上下文,最小令牌成本。
- 明确失败 --没有无声的失败。我们确切地告诉你发生了什么。
- 开发人员速度优先 --如果它不能让你更快,我们就不会建造它。
深入了解请参见ARCHITECTURE.md。
图书馆堆栈(成分)
| 层 | 库 | 目的 | 框架 |
|---|---|---|---|
| MCP | fastmcp | MCP协议实现 | |
| 抓取 | crawl4ai | JavaScript启用的网络抓取 | |
| 搜索 | ddgs | DuckDuckGo搜索(无API密钥) | |
| HTTP | httpx | 回退HTTP客户端 | |
| 验证 | pydantic | 输入/输出模式 |
特性
智能刮擦
- 指数级回退重试(因为互联网不稳定)
- 元数据提取(+41%信息密度)
- 智能过滤(跳过所有登录/注册/垃圾邮件垃圾)
- Markdown转换(AI的纯文本)
- 通过哈希进行内容更改检测
多源研究
- 并行内容提取(快3倍)
- 域分集过滤
- 跨来源的比较分析
- 通过成功/失败报告进行进度跟踪
智能编排
- 7种研究意图模式(例如,快速回答、深度搜索、比较)
- 基于上下文的动态工作流生成
- 参数优化(根据意图自动设置限制/深度)
- 工具故障时的回退策略
- LRU缓存,速度惊人(200个条目)
情境感知
- 跟踪已知URL(无冗余搜索)
- 记录失败的工具(因此AI不会尝试同一件事两次)
- 根据研究状态调整工作流程
性能(证明我们没有撒谎)
| 工具 | 工期 | 成本 | 备注 |
|---|---|---|---|
| search_web | 1-2s | 低 | DuckDuckGo API |
| scrape_url | 2-5s | 低 | 单页获取 |
| crawl_docs | 10-60s | 高 | 多页爬行(大任务需要大量时间) |
| 深度 | 5-15s | 中等 | 平行刮擦 |
| suggest_workflow | \suggest_workflow认为:快速回答(50%)\ |
->工作流:search_web(限制=3)->scrape_url\ ->结果:从顶部来源快速回答。完成。
深入研究
问:“非洲移动支付综合指南”\ ->suggest_workflow认为:深度搜索(75%)\ ->工作流:search_web(限制=10)->deep_dive(深度=10,平行=真)\ ->结果:多源汇总报告,可供规划。
文档学习
查询:“FastAPI文档”+known_url\ ->suggest_workflow认为:文档(80%)\ ->工作流:crawl_docs(max_pages=25)(跳过搜索,直接转到文档)\ ->结果:完成TOC文档。
比较研究
查询:“比较FastAPI与Flask”\ ->suggest_workflow认为:比较(65%)\ ->工作流程:search_web->scrape_url(并行)->compare_sources\ ->结果:并排分析已为您的拉取请求做好准备。
贡献
欢迎投稿!保持简单:
- 添加,不修改 --新工具胜过改变现有工具
- 记录原因 --解释你的设计选择
- 测试一切 --所有工具都必须进行验证测试
- 保持简单 --清晰胜过聪明
许可证
MIT许可证-有关详细信息,请参阅许可证。
名称来源:DevLens=用于查看网络的开发人员镜头。不同的工具是不同的镜头(广角、微距、变焦),具有自动选择正确镜头的智能自动对焦(编排)。
