Token导航 LogoToken导航

MCP Server · 搜索检索

Context Lens

Context Lens是一个将任何内容转换为可搜索知识库的工具,通过语义搜索帮助AI助手理解内容含义,适用于代码库、文档、合同等多种场景。

未说明官方级别未说明来源级核验工具 6
搜索本地处理PythonClaude代码分析Claude DesktopCursor

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
cornelcroi
提供方
cornelcroi

工具数量

6

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

22

仓库热度

收录来源

1 个

MCP World

选型结论

Context Lens 属于搜索检索类 MCP Server,公开资料标注 6 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cursor,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

搜索检索

传输方式

未说明

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 6 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

上下文镜头

赋予你的人工智能理解含义的能力,而不仅仅是匹配关键字。

什么是上下文镜头?

Context Lens将任何内容转换为 可搜索知识库 为您的AI助手。这个自包含的模型上下文协议(MCP)服务器内置了无服务器向量存储(LanceDB),为您的对话带来了语义搜索。将它指向任何内容——代码库、文档、合同或文本文件——你的人工智能就可以立即理解并回答有关内容的问题。

传统关键词搜索 查找包含特定单词的文件。错过了确切的术语?错过了内容。

上下文镜头 理解意义。询问“身份验证”并查找有关登录、凭据、令牌、OAuth和访问控制的代码,即使这些文件从未使用过“身份验证“一词

在行动中看到它

想了解Context Lens的工作原理吗?有趣的是:你可以使用Context Lens来了解Context Lens。

*演示:使用带有Context Lens的Claude Desktop来索引和查询此存储库本身。没有git克隆,没有代码滚动,只有问题和答案。*

为什么选择LanceDB?

上下文镜头使用 LanceDB -现代无服务器矢量数据库:

  • 🆓 完全免费&本地 -没有云服务、API密钥或订阅
  • ⚡ 零基础设施 -嵌入式数据库,只是磁盘上的一个文件
  • 🚀 快速高效 -基于Apache Arrow构建,针对矢量搜索进行了优化
  • 💾 简易贮藏 -单文件数据库,易于备份或移动

可以把它想象成“用于AI嵌入的SQLite”——向量搜索的所有功能,没有复杂性。

特性

  • 🔍 语义搜索 -理解含义,而不仅仅是关键词
  • 🚀 零设置 -没有安装,没有配置,没有API密钥
  • 💾 无服务器存储 -内置LanceDB,无需外部数据库
  • 🔒 100%本地和私人 -所有数据都保留在您的机器上
  • 📁 本地和GitHub -索引本地文件或公共GitHub存储库
  • 🎯 智能解析 -语言感知组块,以获得更好的结果

建筑

运作原理

当您向Context Lens添加内容时,它不仅仅是将文本转储到数据库中。实际情况如下:

智能阅读: Context Lens检测您的文件类型并使用专门的解析器。Python文件采用AST解析,JSON采用结构化解析,Markdown采用头分割。这保留了内容的自然结构。

有意义的块: 内容被智能地分块,而不是任意的字符限制——完整的功能、逻辑段落、完整的部分。你的代码永远不会在函数中间分裂。

语义向量: 使用局部嵌入模型将每个块转换为384维向量。这些向量捕捉意义,而不仅仅是单词。“身份验证”和“登录系统”成为类似的载体,即使它们没有共享单词。

本地存储: 所有内容都会进入LanceDB——一个无服务器矢量数据库,它只是磁盘上的一个文件。没有云服务,没有API调用,完全私有。

概念搜索: 当你问一个问题时,它也会变成一个向量。Context Lens找到具有相似向量(相似含义)的块,并按相关性对其进行排名。你得到的答案是基于概念,而不是关键字匹配。

技术规格

组件详细信息
嵌入模型sentence-transformers/all-MiniLM-L6-v2
矢量维度384个维度
模型大小约90MB(首次使用时下载)
组块大小1000个字符(默认,可配置)
块重叠200个字符(默认,可配置)
矢量数据库LanceDB(无服务器,基于文件)
存储格式Apache箭头柱状格式
搜索方法余弦相似性
处理100%本地,无外部API调用
📖 想要定制吗? 看 设置.md 有关配置选项和 技术.md 用于性能基准测试。

快速设置

开发 IDE

增添 .kiro/settings/mcp.json:

{
  "mcpServers": {
    "context-lens": {
      "command": "uvx",
      "args": ["context-lens"],
      "autoApprove": ["list_documents", "search_documents"]
    }
  }
}

重新加载:命令选项板→ “MCP:重新加载服务器”

光标

增添 .cursor/mcp.json:

{
  "mcpServers": {
    "context-lens": {
      "command": "uvx",
      "args": ["context-lens"]
    }
  }
}

其他MCP客户端

对于Claude Desktop、Continue.dev或任何兼容MCP的客户端:

{
  "mcpServers": {
    "context-lens": {
      "command": "uvx",
      "args": ["context-lens"]
    }
  }
}
📖 需要详细的设置说明吗? 看 设置.md 对于所有客户端,程序使用和配置选项。

MCP注册表

Context Lens正式发布 模型上下文协议注册表 作为 io.github.cornelcroi/context-lens.

📖 注册表详细信息和验证: 看 注册.md 用于安装验证和注册表信息。

程序化使用

在Python应用程序中直接使用Context Lens:

#!/usr/bin/env python3
import os
from dotenv import load_dotenv
from mcp import StdioServerParameters, stdio_client
from strands import Agent
from strands.models.openai import OpenAIModel
from strands.tools.mcp import MCPClient

def main():
    # Load environment variables from .env file
    load_dotenv()
    
    # Create MCP client for context-lens server
    mcp_client = MCPClient(
        lambda: stdio_client(
            StdioServerParameters(command="uvx", args=["context-lens"])
        )
    )
    
    # Create an agent with OpenAI model and MCP tools
    model = OpenAIModel(model_id="gpt-4o-mini")
    agent = Agent(model=model, tools=[mcp_client])
    
    print("Chatbot started! Type 'quit' to exit.")
    
    while True:
        user_input = input("\nYou: ").strip()
        
        if user_input.lower() in ['quit', 'exit', 'bye']:
            print("Goodbye!")
            break
            
        if not user_input:
            continue
            
        try:
            response = agent(user_input)
            print(f"Bot: {response}")
        except Exception as e:
            print(f"Error: {e}")

if __name__ == "__main__":
    main()

对话示例:

You: Add https://github.com/fastapi/fastapi to the knowledge base
Bot: ✓ Added 247 files from repository with 1,543 chunks

You: How does FastAPI handle dependency injection?
Bot: FastAPI uses a sophisticated dependency injection system...
📖 完整示例: 看 设置.md 获取完整的代码和更多的框架。

快速开始

添加您的项目

You: Add all Python files from ./src to the knowledge base
LLM: ✓ Added 23 Python files with 156 chunks

You: How does the authentication system work?
LLM: The authentication system uses JWT tokens. The login flow starts in 
     auth/login.py where credentials are validated, then a token is generated
     with the user's ID and expiration time...

You: Show me all the database models
LLM: Based on the codebase, here are the main database models:
     1. User model (models/user.py) - handles user accounts and authentication
     2. Post model (models/post.py) - manages blog posts with relationships...

向开源学习

You: Add https://github.com/fastapi/fastapi to the knowledge base
LLM: ✓ Added 247 files from repository with 1,543 chunks

You: How does FastAPI handle dependency injection?
LLM: FastAPI uses a sophisticated dependency injection system. The Depends()
     function in fastapi/dependencies.py analyzes function signatures and
     automatically resolves dependencies. Here's how it works...

You: Compare FastAPI's routing to Flask
LLM: FastAPI uses decorator-based routing similar to Flask, but with key
     differences: 1) Type hints for automatic validation, 2) Async support
     built-in, 3) Automatic OpenAPI documentation generation...

分析文档

You: Add all contracts from ./legal/contracts
LLM: ✓ Added 12 contract documents with 487 chunks

You: Find all termination clauses
LLM: I found termination clauses in 8 contracts. Here's a summary:
     - Service Agreement: 30-day notice required for either party
     - Vendor Contract: Immediate termination for breach of confidentiality...

You: What are the payment terms across all contracts?
LLM: Payment terms vary by contract type:
     - Service contracts: Net 30 days from invoice date
     - Vendor agreements: 50% upfront, 50% on delivery...

从URL获取文件

You: Add https://raw.githubusercontent.com/fastapi/fastapi/master/README.md
LLM: ✓ Document 'README.md' added successfully with 42 chunks

You: What is FastAPI and what are its key features?
LLM: FastAPI is a modern, fast web framework for building APIs with Python 3.7+.
     Key features include:
     - Fast performance (on par with NodeJS and Go)
     - Automatic API documentation
     - Type hints for validation
     - Async support built-in...
📖 更多示例和查询模式: 用法\_ GIDE.md

智能解析与分块

Context Lens不仅仅是盲目地分割文本——它理解代码结构,并创建尊重语言边界的智能块。

区别: 通用分块根据字符数任意分割代码,通常会在中途破坏函数。智能解析理解代码的结构,并创建完整、有意义的块。

支持的文件类型

  • 🐍 python (.py, .pyw)-函数、类、导入
  • ⚡ JavaScript/TypeScript (.js, .jsx, .ts, .tsx, .mjs, .cjs)-函数、类、导入
  • 📦 JSON (.json, .jsonc)-顶级键、嵌套对象
  • 📋 YAML (.yaml, .yml)-顶级密钥、列表、映射
  • 📝 标记语言 (.md, .markdown, .mdx)-标题层次结构、代码块
  • 🦀 锈 (.rs)-结构、特征、内部块、功能
  • 📄 其他文件 (.txt, .log, .cpp, .java等)-智能段落/句子分割

益处

✅ 完整的代码单位 -永远不要中途拆分函数或类\ ✅ 保留的上下文 -文档字符串、注释和结构保持不变\ ✅ 更好的搜索 -查找完整、可理解的代码片段\ ✅ 自动 -无需配置,基于文件扩展名工作

📖 想看看它是如何工作的吗? 结账 停车_停车.md 以获取详细示例。

您可以添加什么

Context Lens可处理来自多个来源的基于文本的文件:

  • 📁 本地文件和文件夹 -您的项目、文档、任何文本文件
  • 🌐 GitHub 仓库 -公共存储库、特定分支、目录或文件
  • 🔗 直接文件URL -任何HTTP/HTTPS可访问的文件
  • 📄 文件 -合同、政策、研究论文、技术文件

支持的文件类型: .py, .js, .ts, .java, .cpp, .go, .rs, .rb, .php, .json, .yaml, .md, .txt, .sh,以及更多(25+扩展名)

最大文件大小: 10 MB(可通过以下方式配置 MAX_FILE_SIZE_MB 环境变量)

示例:

  • ./src/ -本地目录
  • /path/to/file.py -单个本地文件
  • https://github.com/fastapi/fastapi -整个存储库
  • https://github.com/django/django/tree/main/django/contrib/auth -特定目录
  • https://example.com/config.yaml -直接文件URL
  • /path/to/contracts/ -法律文件
📖 查看更多示例: 用法\_ GIDE.md

可用工具

  • 📥 add_document -添加文件、文件夹或GitHub URL
  • 🔍 搜索文档 -跨所有内容的语义搜索
  • 📋 list_文档 -浏览索引文档
  • ℹ️ get_document_info -获取文档的元数据
  • 🗑️ remove_document -删除特定文档
  • 🧹 clear_knowledge_base -删除所有文档
📖 请参阅详细示例: 用法\_ GIDE.md

常见问题解答

这与GitHub的MCP服务器相比如何?\ 它们服务于不同的目的,相辅相成:

Context Lens更适合:

  • 🧠 语义理解-“查找身份验证代码”返回登录名、凭据、令牌、OAuth,即使没有确切的关键字
  • 📚 学习代码库-询问“X是如何工作的?”并在整个项目中获得概念上相关的结果
  • 🔍 模式发现-查找类似的代码模式、错误处理方法或架构决策
  • 💾 离线开发-一旦索引,无需互联网连接即可工作
  • 🔒 隐私-所有处理都在本地进行,没有数据发送到外部服务

GitHub的MCP服务器更适合:

  • 🔧 存储库管理-创建问题、管理PR、处理CI/CD操作
  • 📊 实时状态-始终从GitHub获取最新版本
  • 🌐 GitHub特有的功能-与GitHub的生态系统(操作、项目等)集成

主要区别: Context Lens克隆一次,并对所有内容进行索引,以实现快速语义搜索(离线)。GitHub MCP对每个查询进行API调用,以便实时访问(在线)。使用Context Lens理解代码,GitHub MCP管理存储库。

为什么第一次跑得慢?\ 首次使用时下载嵌入模型(~100MB)。这种情况只发生一次。

我需要API密钥吗?\ 不!Context Lens完全在本地运行。没有API密钥,没有云服务。

我的数据存储在哪里?\ Context Lens将数据存储在特定于平台的目录中:

  • macOS: ~/Library/Application Support/context-lens/
  • Linux: ~/.local/share/context-lens/
  • 视窗: %LOCALAPPDATA%\context-lens\

您可以通过设置更改基本目录 CONTEXT_LENS_HOME 环境变量:

{
  "mcpServers": {
    "context-lens": {
      "command": "uvx",
      "args": ["context-lens"],
      "env": {
        "CONTEXT_LENS_HOME": "/path/to/your/data"
      }
    }
  }
}

或者用以下命令覆盖单个路径 LANCE_DB_PATH (数据库)和 EMBEDDING_CACHE_DIR (型号)。

我可以将其与私人代码一起使用吗?\ 对!所有处理都在本地进行。不向外部服务发送任何内容。

它使用了多少磁盘空间?\ 模型约100MB+每个文本块约1KB。10MB的代码库使用~5-10MB的数据库空间。

📖 更多问题: 故障排除.md

文档

贡献

欢迎投稿!拜托:

  1. 先打开一个问题来讨论你的想法
  2. 开始工作前获得批准
  3. 提交一份引用该问题的PR

看 贡献.md 了解详情。

许可证

MIT许可证-请参阅 许可证 了解详情。

______________________________________________________________________

如果你觉得回购有用,请为其加星! ⭐

工具与能力

工具数量

6

资源数量

0

提示词数量

0

能力标签

语义搜索Python本地部署知识库AI助手本地处理代码分析

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 6 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Context Lens

MCP World · 本页

6未说明未标注1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Context Lens 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Context Lens 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Context Lens 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Context Lens 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Context Lens 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP