Token导航 LogoToken导航TokenDH.com
Mcpserve Py logo
数据服务stdio官方级别未说明来源级核验

Mcpserve Py

MCP Server

一个基于Python构建的Model Context Protocol (MCP)服务器,提供数据库查询工具和文档资源,通过JSON-RPC 2.0 stdio传输,使AI助手能够与SQLite数据库和Markdown文档交互。

工具数

8

提示词数

0

GitHub Stars

1

资源数

0
数据分析文档处理PythonClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

devaloi

提供方

devaloi

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e ".[dev]"

详细介绍

麦布塞尔韦

CI Python 3.11+ License: MIT

A. 模型上下文协议(MCP) 内置Python的服务器——通过JSON-RPC 2.0 stdio传输公开数据库查询工具和文档资源,使AI助手能够与SQLite数据库和markdown文档进行交互。

什么是MCP?

模型上下文协议 是将AI助手连接到外部工具和数据源的开放标准。MCP服务器暴露 工具 (AI可以调用的函数)和 资源 (AI可以读取的数据)通过JSON-RPC 2.0传输。

此服务器使用stdio上的原始JSON-RPC 2.0从头开始实现MCP协议,不需要依赖SDK。

特性

  • 🔧 8工具 --数据库查询、文档CRUD、搜索、日期/时间
  • 📄 资源提供程序 --文档和数据库模式作为可读资源
  • 🛡️ SQL注入保护 --只允许使用SELECT查询,并进行正则表达式验证
  • 📝 YAML 前言 --使用结构化元数据以markdown形式存储的文档
  • 🔌 标准运输 --在stdin/stdout上以行分隔的JSON-RPC 2.0
  • 零SDK依赖 --手动滚动MCP协议实现
  • 经过充分测试 --113项测试,涵盖协议、工具、资源和集成

快速开始

# Clone and install
git clone https://github.com/devaloi/mcpserve-py.git
cd mcpserve-py
pip install -e ".[dev]"

# Run the server
python -m mcpserve_py

# Run tests
python -m pytest -v

环境变量

变量默认值描述
MCPSERVE_DATA_DIRdata文件和数据目录
MCPSERVE_DB_PATHdata/mcpserve.dbSQLite数据库的路径
MCPSERVE_LOG_LEVELINFO日志级别(调试、信息、警告、错误)

Claude桌面配置

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "mcpserve-py": {
      "command": "python",
      "args": ["-m", "mcpserve_py"],
      "env": {
        "MCPSERVE_DATA_DIR": "./data",
        "MCPSERVE_DB_PATH": "./data/mcpserve.db"
      }
    }
  }
}

工具

工具说明参数
query_database执行只读SQL查询sql: str, params?: list
list_tables列出数据库中的所有表--
describe_table获取表架构table: str
create_document创建标记文档title: str, content: str, tags?: list[str]
read_document按标题阅读文档title: str
list_documents列出所有文件tag?: str
search_documents跨文档的全文搜索query: str
get_datetime当前日期/时间timezone?: str

资源

URI模式描述MIME类型
docs:///{title}文件内容text/markdown
db:///schema完整数据库架构text/plain
db:///tables/{name}单表架构text/plain

建筑

src/mcpserve_py/
├── __main__.py          # Entry point: python -m mcpserve_py
├── server.py            # MCP server: receive → dispatch → respond
├── protocol.py          # JSON-RPC 2.0 types and encoding
├── transport.py         # Stdio transport (line-delimited JSON)
├── config.py            # Pydantic settings
├── tools/
│   ├── registry.py      # Tool registry
│   ├── database.py      # SQLite tools (query, list_tables, describe)
│   ├── documents.py     # Document tools (CRUD + search)
│   └── system.py        # System tools (get_datetime)
└── resources/
    ├── provider.py      # Resource provider interface + registry
    ├── documents.py     # Document resource provider
    └── database.py      # Database schema resource provider

设计决策

  • 无MCP SDK --该协议直接使用JSON-RPC 2.0数据类实现。这表明了对协议的深入理解,而不是对SDK的使用。
  • 同步 --Stdio本质上是顺序的;async增加了复杂性,但没有带来任何好处。
  • Pydantic设置 --通过环境变量进行配置,并进行类型验证 .env 文件支持。
  • 工具注册表模式 --工具在中央注册表中注册,保持服务器调度的干净。
  • 只读SQL --在到达SQLite之前,通过正则表达式拒绝突变,防止AI助手损坏数据。
  • YAML 前言 --文档使用与静态站点生成器(Jekyll、Hugo)相同的格式,使其易于阅读和工具友好。

发展

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
make test

# Lint
make lint

# Type check
make typecheck

# Format
make format

# All checks
make all

许可证

麻省理工学院

贡献

贡献.md.PR欢迎运行 make all 在提交之前。

目录标签

目录标签

数据分析文档处理PythonClaudeJSON-RPC本地部署SQLiteMarkdownAI助手数据库查询文档管理

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP