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

Serena CLI

MCP Server

Serena-CLI是一个命令行工具,允许在任何上下文中使用Serena MCP服务器,包括那些无法直接访问MCP工具的Claude Code子代理。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
命令行工具PythonClaude代码分析Claude

安装说明

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

作者 / 组织

ReptileStyle

提供方

ReptileStyle

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

uvx --from "git+https://github.com/oraios/serena" serena --help

详细介绍

瑟琳娜cli

CLI包装机 Serena MCP服务器,允许您在任何上下文中使用Serena,包括无法访问MCP图拉的Claude Code子代理。

问题

Claude Code子代理(任务工具)不能使用MCP图拉。Serena仅对主代理可用。这限制了授权代码分析任务的能力。

决定

守护进程保持Serena MCP服务器运行,并通过UNIX套接字代理工具调用。bash包装 serena-cli 为所有代理提供一个CLI接口。

Agent (любой) → Bash("serena-cli find_symbol ...") → Unix socket → Daemon → Serena MCP → Dart LSP

安装

1.复制脚本

cp serena-daemon.py ~/scripts/
cp serena-cli ~/scripts/
chmod +x ~/scripts/serena-cli ~/scripts/serena-daemon.py

2.确保安装了Serena

uvx --from "git+https://github.com/oraios/serena" serena --help

3.验证是否为Serena配置了项目

项目根必须有目录 .serena/ 带文件 project.yml:

languages:
- dart  # или python, typescript, и т.д.
encoding: "utf-8"
project_name: "my-project"

4.设置Claude Code

添加permission到 .claude/settings.local.json:

{
  "permissions": {
    "allow": [
      "Bash(~/scripts/serena-cli:*)"
    ]
  }
}

(可选)从Serena MCP中删除 ~/.claude.json:

如果您想要一个统一的接口,而不会在上下文中重复DART LSP和Serena系统提示-删除部分 mcpServers.serena 从项目B ~/.claude.json.

5.将文档添加到Claude.md项目

复制文件内容 CLAUDE_MD_TEMPLATE.md 您的 CLAUDE.md这将为代理(包括子代理)提供有关可用图拉及其参数的完整信息。

使用

# Поиск символа
serena-cli --project /path/to/project find_symbol '{"name_path_pattern": "MyClass"}'

# Обзор символов файла
serena-cli --project /path/to/project get_symbols_overview '{"relative_path": "lib/src/foo.dart"}'

# Поиск паттерна
serena-cli --project /path/to/project search_for_pattern '{"substring_pattern": "TODO", "relative_path": "lib/"}'

# Поиск использований символа
serena-cli --project /path/to/project find_referencing_symbols '{"name_path": "MyClass", "relative_path": "lib/src/foo.dart"}'

# Поиск файлов
serena-cli --project /path/to/project find_file '{"file_mask": "*.dart", "relative_path": "lib/"}'

# Листинг директории
serena-cli --project /path/to/project list_dir '{"relative_path": "lib/src/", "recursive": false}'

如果 --project 未指定,正在使用 $SERENA_PROJECT 或当前目录。

DAEMON管理

serena-cli --status    # статус daemon
serena-cli --stop      # остановить daemon

DAEMON在第一次调用时自动启动。

它是如何工作的

  1. serena-cli 检查DAEMON(PID文件+UNIX套接字)是否已启动 /tmp/)
  2. 如果没有,则启动 serena-daemon.py 在背景下等待准备
  3. (图为SERNA MCP Server)uvx serena start-mcp-server)进行MCP初始化
  4. DAEMON听Unix套接字,接受JSON请求 {"tool": "...", "args": {...}}
  5. 通过MCP JSON RPC代理Serena请求,返回结果
  6. Lock提供串行请求处理(DART LSP单线程)

可用图拉(只读)

图尔描述 |-----|----------| | find_symbol –通过nameu path模式搜索符号(类、方法、函数)→ | get_symbols_overview –按类型分组的所有文件字符概述› | search_for_pattern –在文件中搜索Regex模式› | find_referencing_symbols –所有字符在代码库中的使用。 | find_file 通过掩码搜索文件 | list_dir 目录列表

要求

  • Python 3.10+
  • uvx (从 uv)
  • 瑟琳娜(uvx --from "git+https://github.com/oraios/serena" serena)
  • 语言服务器(Dart LSP for Dart等)

目录标签

目录标签

命令行工具PythonClaude代码分析本地部署代理工具开发工具

支持客户端

Claude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP