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

Glyph MCP

MCP Server

glyph是一款基于Tree-sitter的代码符号提取工具,通过声明式查询语言从代码库中提取符号轮廓,为LLM编码代理提供高效的上下文信息,也可作为独立的CLI工具使用。

工具数

0

提示词数

0

GitHub Stars

10

资源数

0
代码分析GoClaude开发工具Claude

安装说明

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

作者 / 组织

benmyles

提供方

benmyles

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

字形

一个模型上下文协议(MCP)服务器,使用Tree sitter的声明性查询语言从代码库中提取符号轮廓。通过干净、高效的符号提取为LLM编码代理提供所需的上下文。也可以用作独立的CLI工具。

安装

macOS

安装Go:

$ brew install go

安装最新版本的字形:

$ GOBIN=/usr/local/bin go install "github.com/benmyles/glyph@latest"

它做什么

glyph采用文件路径glob,递归地发现匹配的代码文件,并使用Tree sitter强大的查询语言对其进行解析,以生成准确的符号轮廓。您可以控制细节级别——从高级结构到带有可见性修饰符的完整函数签名。

为什么是字形?

LLM编码代理在理解代码结构时效果最佳。字形通过提供干净的多文件符号映射来弥合这一差距,这些符号映射作为高效的上下文,没有压倒性的令牌限制。

主要特点

  • 基于声明式查询的提取 -使用Tree sitter的查询语言进行精确、可维护的符号提取
  • 基于Glob的文件发现 -用熟悉的模式指向你的代码
  • 语言无关架构 -只需查询模式即可轻松添加新语言
  • 可配置的细节级别 -选择你需要多少上下文
  • 多文件支持 -获得整个项目的统一视图
  • MCP本地 -专为与AI编码工作流程无缝集成而构建
  • 高性能 -优化了Tree sitter查询以实现快速提取

支持的语言

  • -函数、方法、类型、结构、接口、常量、变量
  • Java -类、接口、方法、构造函数、字段、枚举、记录、注释
  • JavaScript/TypeScript -函数、类、方法、箭头函数、变量、接口、类型别名
  • python -函数、类、装饰定义、作业
  • 易于扩展 -添加新语言只需要大约20行查询模式

建筑

glyph使用了一种现代的声明性方法:

  • 树保姆查询 替换复杂的AST遍历逻辑
  • 特定语言的查询模式 定义要提取的符号
  • 统一提取引擎 适用于所有语言
  • 模块化设计 分别关注查询、提取、格式化和文件处理

符号类型

glyph使用简洁的符号类型名称来最大限度地减少令牌的使用:

  • func -函数和类函数声明
  • method -类/结构体方法
  • class -课程
  • interface -接口
  • struct -结构(Go)
  • type -类型声明(Go)
  • const -常量
  • var -变量
  • field -类/结构体字段
  • constructor -施工人员
  • enum -枚举
  • record -记录(Java)
  • annotation -注释(Java)
  • property -属性(TypeScript)

用法

与AI编码助手集成

克劳德代码

使用MCP命令将字形添加到Claude代码中:

# Add glyph as a local MCP server (for your current project)
claude mcp add glyph /usr/local/bin/glyph mcp

要验证安装:

# List all configured servers
claude mcp list

# Check glyph server details
claude mcp get glyph

您还可以使用Claude Code随时检查服务器状态 /mcp 命令。

光标

将字形添加到光标MCP配置中:

  1. 打开光标设置(Cmd/Ctrl+,)
  2. 搜索“MCP”或导航到扩展→ MCP
  3. 将字形添加到MCP服务器:
{
  "mcpServers": {
    "glyph": {
      "command": "/usr/local/bin/glyph",
      "args": ["mcp"]
    }
  }
}

配置后,您可以通过MCP接口使用字形从代码库中提取符号轮廓,帮助AI更好地理解您的代码结构。

MCP服务器模式(默认)

将glyph作为MCP服务器运行,以便与LLM编码代理集成:

$ glyph mcp

命令行接口命令模式

直接从命令行使用字形提取符号:

$ glyph cli '/path/to/project/*.go'
$ glyph cli -detail=minimal '/path/to/project/**/*.js'

选项:

  • -detail:详细程度(minimal, standard,或 full).默认值为 standard.

注意:所有文件模式都必须是绝对路径。

细节级别

最小化

仅显示带有行号的符号名称和类型:

- func: main (line 15)
- struct: Server (line 5)
- method: Start (line 10)

标准(默认)

显示签名和声明:

- func: func main()
- struct: type Server struct
- method: func (s *Server) Start() error

满的

显示包含代码块的完整符号定义:

- func (lines 15-20):

函数main(){ 服务器:=服务器{} 服务器。开始() }

发展

$ git clone https://github.com/benmyles/glyph
$ cd glyph
$ make clean
$ make test
$ make build
$ make install DESTDIR=/usr/local/bin

添加新语言

得益于基于查询的架构,添加对新语言的支持非常简单:

  1. 添加语言检测 在……里面 file_utils.go (约2行)
  2. 添加查询模式 在……里面 queries.go (约10-20行)
  3. 添加到查询调度程序 在……里面 queries.go (~5行)

添加Rust支持的示例:

// In file_utils.go
case ".rs":
    return rust.GetLanguage(), nil

// In queries.go
var rustQueries = map[string]string{
    "functions": `
        (function_item
            name: (identifier) @name
        ) @function
    `,
    "structs": `
        (struct_item
            name: (type_identifier) @name
        ) @struct
    `,
    // ... more patterns
}

演出

  • 快速解析 使用Tree sitter的增量解析
  • 优化查询 用于高效的符号提取
  • 最小内存使用 具有流式文件处理功能
  • 解析器重用 跨多个文件实现更好的性能

目录标签

目录标签

代码分析GoClaude开发工具本地部署符号提取LLM集成多语言支持

支持客户端

Claude

接入字段

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

HTTP

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

HTTPnone部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP