Vellum
Vellum
一个 MCP 服务器,在生成的文档(
.docx、
基于 2026-07-28 MCP 规范构建。完整的设计原理参见 docs/architecture.md。
为什么
文档生成技能会产出 .docx/.pptx/.pdf 输出,但没有任何机制自动验证结果是否格式良好:标题层级可能被跳过、字体可能不一致、间距可能漂移、语法错误会悄然通过。Vellum 是一个验证层,而不是生成器。
Related MCP server: mcp-server-docx
核心原则
服务器提取事实。模型做出判断。
Vellum 从不说“这是错的”。它说的是“这里是实际为真的事实,这里是相对于文档其余部分在统计上异常的内容。”判断某个值对于一行在文档中的角色(标题 vs. 题注 vs. 正文)是否合适,属于语义判断,由调用方模型负责——该模型拥有文档的完整上下文——而服务器没有,也不应尝试拥有。
工具
Tool | Purpose |
| 标题层级、目录一致性、编号、题注 |
| 逐段落解析的字体/字号/字重/间距(完整样式继承链已解析)+ 离群值标记 |
| 逐字符坐标、基线间距、边距/缩进一致性、字体清单、替换检测、行内碰撞标记 |
| LanguageTool 发现结果,带段落/偏移锚点 |
| 标记文档正文中缺失的文件名标记(公司/角色/版本/日期) |
| 运行所有适用的检查,返回 |
每个工具都返回结构化事实加上异常标记——绝不下结论。
每个工具都接受文档,既可以是文件系统 path,也可以是内联的 content_base64(同时必须提供 filename)——当文档只存在于对话中(例如直接在聊天界面中上传)而尚未先保存到磁盘时,这很有用。两种输入形式中必须且只能提供一种。
状态
全部六个工具(check_docx_structure、check_docx_typography、check_pdf_layout、check_language、check_filename_consistency、full_report)均已完整实现、经过单元测试,并针对一组带有已知植入缺陷的黄金标准夹具进行了验证。完整的 MCP 表面——资源、提示词、引导、缓存提示、HTTP 传输的 OAuth 2.1 资源服务器认证,以及正确的错误语义——均已构建并通过测试(163+ 项测试通过)。详细的构建历史和当前未决事项参见 docs/architecture.md 和 PROGRESS.md。打包/发布(第 7 阶段)正在进行中——尚未发布到 PyPI。
安装
git clone https://github.com/Nasser9892/vellum-mcp.git
cd vellum-mcp
pip install -e ".[dev]"check_language 需要本地 LanguageTool 实例——设置方法参见 docs/architecture.md。
用法(Claude Desktop / 任何 MCP stdio 客户端)
添加到你的 MCP 客户端配置中(参见 examples/claude_desktop_config.json):
{
"mcpServers": {
"vellum": {
"command": "vellum-mcp"
}
}
}开发
pip install -e ".[dev]"
pytest # unit + integration tests
mcp dev src/vellum_mcp/server.py # run under MCP Inspector黄金标准夹具(带有故意植入缺陷的示例 .docx/.pdf 文件)位于 golden_set/。所有检查在被采信之前都会针对这些夹具进行验证——相关方法论参见 docs/architecture.md。
已针对 MCP Inspector(mcp dev src/vellum_mcp/server.py)进行验证,并针对两个真实的 MCP 客户端进行了测试:Claude Desktop(examples/claude_desktop_config.json)和 Cursor(~/.cursor/mcp.json,使用相同的 {"mcpServers": {"vellum": {"command": "vellum-mcp"}}} 结构)。
规范符合性
所有原语:工具、资源、提示词(不仅仅是工具)
无状态核心——不依赖
Mcp-Session-Id通过 MRTR 进行引导(
InputRequiredResult/inputRequests/inputResponses)HTTP 传输采用 OAuth 2.1 资源服务器姿态(RFC 9728、RFC 8707、RFC 9207;CIMD 取代已弃用的 DCR)
用于长时间运行分析的任务扩展(
io.modelcontextprotocol/tasks)正确的错误码(未找到为
-32602,头部绑定违规为-32020)不使用已弃用的
roots/sampling/logging原语
许可证
MIT——参见 LICENSE。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to extract and analyze text content from various document formats (PDF, DOCX, PPTX, XLSX) in local knowledge bases, and create new formatted Word and Excel documents with structured data and reports.5MIT
- FlicenseBqualityCmaintenanceEnables creating professional Word documents from markdown or structured content with fast, customized formatting via natural language.71
- AlicenseAqualityAmaintenanceVerifies AI outputs in real-time across 6 dimensions, with automatic retry and failover to ensure correct, complete, and reliable LLM responses before they reach the user's editor.251,0201Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables deterministic visual and structural analysis of PDF and DOCX documents, extracting measurable evidence such as blur, OCR confidence, and image anomalies for auditable forensic workflows.1
Related MCP Connectors
Signed PASS/WARN/FAIL QA receipts for AI-generated JSON, ZIP, PDF, and DOCX deliverables.
Deterministic validation for AI-generated artifacts: JSON Schema, OpenAPI response, SQL syntax.
AI reasoning checks any document against known international standards before your agent acts on it.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nasser9892/vellum-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server