使用说明
MCP服务器
一种模型上下文协议(MCP)服务器,向Claude Desktop等AI客户端公开本地文件和SQLite访问权限。使用TypeScript和官方MCP SDK构建。
特性
工具
| 工具 | 说明 |
|---|---|
read_file |
从本地文件系统读取文件。路径必须在 ALLOWED_DIRS。返回内容、大小和MIME类型。 |
query_sqlite |
以只读模式运行 SELECT 对本地SQLite数据库的查询。支持参数绑定、行限制和超时。 |
资源
| URI | 描述 |
|---|---|
config://server |
非敏感服务器配置(传输、限制、允许的目录)。 |
schema://sqlite/{db_path} |
SQLite数据库的表和列模式。 |
提示
| 提示 | 描述 |
|---|---|
analyse-file |
引导模型通过以下方式读取文件 read_file 并生成结构化分析。 |
query-and-explain |
引导模型运行 query_sqlite 并用通俗易懂的语言解释结果。 |
运输方式
| 模式 | 用例 | 如何启用 |
|---|---|---|
| 工作室 | Claude Desktop、MCP检查员、本地开发人员 | MCP_TRANSPORT=stdio (默认) |
| 超文本传输协议 | 远程部署,多用户 | MCP_TRANSPORT=http |
HTTP模式包括CORS、速率限制(每IP 100个请求/15分钟)和DNS重新绑定保护。
设置
1.安装依赖项
npm install
2.配置环境
复制 .env.example 到 .env 并设置所需变量:
cp .env.example .env
编辑 .env 并设置 ALLOWED_DIRS 对于服务器可能读取的逗号分隔的绝对路径:
ALLOWED_DIRS=/path/to/your/data,/path/to/another/dir
3.构建和运行
npm run build
npm run dev # Development (tsx, hot reload)
# or
npm run start # Production (node build/src/server.js)
配置
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
ALLOWED_DIRS |
是 | -- | 文件和数据库访问的逗号分隔绝对路径 |
MCP_TRANSPORT |
没有 | stdio |
stdio 或 http |
PORT |
没有 | 3000 |
HTTP端口(当 MCP_TRANSPORT=http) |
LOG_LEVEL |
没有 | info |
debug, info, warn, error |
MAX_FILE_BYTES |
没有 | 1048576 |
的最大文件大小 read_file (1 MB) |
SQLITE_MAX_ROWS |
没有 | 500 |
每行的最大行数 query_sqlite 结果 |
QUERY_TIMEOUT_MS |
没有 | 10000 |
查询超时(毫秒) |
Claude桌面集成
将服务器添加到Claude Desktop的配置中(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"mcp-server": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/build/src/server.js"],
"env": {
"ALLOWED_DIRS": "/path/to/your/data"
}
}
}
}
重新启动Claude Desktop以加载服务器。
HTTP模式
对于远程部署,请设置 MCP_TRANSPORT=http 并且可选 PORT:
MCP_TRANSPORT=http PORT=3000 ALLOWED_DIRS=/data npm run start
服务器在给定端口上侦听。MCP客户端连接到 http://host:port/mcp 用于通过流式HTTP的JSON-RPC。
测试
npm run test # Run tests (watch mode)
npm run test:run # Run once
npm run test:coverage # Run with coverage report
MCP检查员
使用以下命令调试服务器 MCP检查员,在STDIO模式下运行服务器,并将检查器指向它:
npm run dev
然后在MCP Inspector中,使用命令添加服务器 node 和args ["build/src/server.js"],或使用 inspect 脚本可用时。
文档
- 规格 —
SPEC.md功能和技术栈 - 建筑 —
ARCHITECTURE.md用于目录布局和设计 - 实施 —
TODO.md用于实施检查表
许可证
麻省理工学院