Token导航 LogoToken导航TokenDH.com
Langspec MCP logo
开发工具未说明官方级别未说明来源级核验

Langspec MCP

MCP Server

一个基于Model Context Protocol (MCP)构建的编程语言规范搜索与引用服务,支持多语言规范全文搜索、结构化引用和自动学习计划生成。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaude全文搜索Claude

安装说明

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

作者 / 组织

tonny-lec

提供方

tonny-lec

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

langspec mcp

编程语言规范搜索和引用服务器,基于 模型上下文协议(MCP).

获取官方语言规范,使用SQLite FTS5对其进行索引,并为Claude等AI助手提供结构化搜索工具。

特性

  • 多语言支持 --Go、Java、Rust、TypeScript从官方来源索引
  • 全文搜索 BM25在语言规范部分排名
  • 结构化引用 具有节路径、规范URL和上下文片段
  • 基于差异的重新索引 --仅更新重新摄入时更改的部分
  • 稳定的区段ID --没有HTML锚点的标题将获得确定性ID
  • 源策略控制 --仅可配置摘录或每种语言的全文访问
  • 每周学习计划 --从规范TOC自动生成的研究计划

支持的语言

语言来源章节策略
去吧Go编程语言规范~162单个HTML
Java Java语言规范(SE21)~575多页HTML(19章)
生锈Rust 参考手册~1401GitHub Markdown(119个文件)
TypeScriptTypeScript手册~178GitHub Markdown(10个文件)

快速开始

先决条件

  • Node.js 18+
  • npm

安装和构建

git clone 
cd langspec-mcp
npm install
npm run build

索引语言规范

# Index Go specification (default)
npm run ingest

# Specify a language
npm run ingest -- --language go
npm run ingest -- --language rust
npm run ingest -- --language java
npm run ingest -- --language typescript

# Index all languages at once
npm run ingest -- --language all

启动MCP服务器

npm run serve

服务器使用JSON-RPC 2.0通过stdio进行通信。

MCP工具

list_languages

列出所有索引语言及其文档。

// Input
{}

// Output
[
  { "language": "go", "docs": ["go-spec"] },
  { "language": "java", "docs": ["jls"] },
  { "language": "rust", "docs": ["rust-reference"] },
  { "language": "typescript", "docs": ["ts-handbook"] }
]

list_versions

列出一种语言的可用版本。

// Input
{ "language": "go" }

// Output
[{ "version": "snapshot-20260208", "fetched_at": "2026-02-08T...", "source_url": "https://go.dev/ref/spec" }]

search_spec

在规范部分进行全文搜索。

// Input
{
  "query": "goroutine",
  "language": "go",
  "filters": { "limit": 5 }
}

// Output — array of citations with snippets centered on query matches
[{
  "section_id": "Go_statements",
  "title": "Go statements",
  "section_path": "Statements > Go statements",
  "url": "https://go.dev/ref/spec#Go_statements",
  "snippet": { "text": "...A \"go\" statement starts the execution of a function call as an independent concurrent thread of control, or goroutine...", "start_char": 0, "end_char": 300 },
  "score": -8.23
}]

get_section

检索特定部分的完整详细信息。

// Input
{ "language": "go", "version": "snapshot-20260208", "section_id": "Go_statements" }

// Output
{
  "citation": { "..." },
  "content": {
    "excerpt": "A \"go\" statement starts...",
    "is_truncated": false,
    "fulltext_available": false
  }
}

build_learning_plan

根据规格目录制定每周学习计划。

// Input
{
  "language": "rust",
  "total_weeks": 6,
  "focus_areas": ["Types", "Traits"]
}

// Output
{
  "language": "rust",
  "version": "snapshot-20260208",
  "total_weeks": 6,
  "total_sections": 1401,
  "weeks": [
    {
      "week": 1,
      "theme": "Introduction, Notation",
      "sections": ["..."],
      "estimated_minutes": 45
    }
  ]
}

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "langspec": {
      "command": "node",
      "args": ["/absolute/path/to/langspec-mcp/dist/index.js", "serve"]
    }
  }
}

项目结构

src/
├── config/
│   └── languages.ts      # LanguageConfig registry (4 languages)
├── index.ts              # CLI entry point (ingest / serve)
├── server.ts             # MCP server + tool registration
├── types.ts              # TypeScript types + Zod schemas
├── db/
│   ├── schema.ts         # Database initialization + migrations
│   └── queries.ts        # Query methods + snippet extraction
├── ingestion/
│   ├── index.ts          # Pipeline orchestrator
│   ├── fetcher.ts        # Multi-strategy fetch (HTML / GitHub Markdown)
│   ├── parser.ts         # HTML + Markdown → structured sections
│   └── normalizer.ts     # Section normalization + canonical URLs
└── tools/
    ├── list-languages.ts
    ├── list-versions.ts
    ├── search-spec.ts
    ├── get-section.ts
    └── build-learning-plan.ts

技术栈

  • TypeScript (ES模块)
  • @模型上下文协议/sdk --MCP服务器框架
  • 更好平方3 + FTS5 --存储和全文搜索
  • 再见 --HTML解析
  • 黄道带 --输入验证

发展

# Watch mode
npm run dev

# Build
npm run build

# Run tests
npm test

# Re-index (diff-based — skips unchanged sections)
npm run ingest

路线图

  • \[x\] M1:Go规范+stdio MCP服务器+SQLite/FTS5
  • \[x\] 平方米:引用精度(基于差异的重新索引、片段、稳定ID、源策略)
  • \[x\] 立方米: build_learning_plan 工具(来自TOC的每周学习计划)
  • \[x\] M4:多语言支持(Go、Java、Rust、TypeScript)
  • \[ \] M5:不起作用(缓存、速率限制、可观察性、局域网身份验证)

许可证

麻省理工学院

目录标签

目录标签

TypeScriptClaude全文搜索编程语言规范本地部署结构化引用学习计划多语言支持

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP