
Beans Mcp
io.github.selfagency由 GitHub 账号 selfagency 发布v0.1.4更新于 Oct 24, 2026
Interact with the Beans CLI issue tracker agentically
概览
一个本地 MCP 服务器,让助手在 Beans CLI 问题跟踪器工作区中读取和修改问题,包括创建、更新、查询和删除。
- 可以做什么
- 初始化工作区,并按单个或批量 ID 读取 bean 详情,返回完整正文和元数据。创建、批量创建、更新、批量更新、重新打开和删除 bean,涵盖状态、类型、优先级、父级、阻塞关系和正文修改。通过列表、筛选、全文搜索、排序或仅可执行视图查询 bean,并可执行原始 GraphQL 查询。读取、创建、编辑和删除 .beans 目录下的文件,包括原子更新 frontmatter。将 bean 内所有 markdown 清单任务标记为完成,归档已完成或废弃的 bean,并读取扩展输出日志。
- 适用场景
- 当你的工作记录在 Beans CLI 工作区中,并希望助手在对话内完成问题分类、搜索、创建或关闭时适用。也适合从跟踪器生成 Copilot 指令上下文,或批量修改问题。
- 运行要求
- 作为本地 stdio 进程运行,通常通过 npx 并传入工作区根路径参数启动。需要已安装且可访问的 Beans CLI(默认命令 beans,或用 --cli-path 指定路径)。可选参数可设置端口、日志目录和工作区根路径。未声明账号、API 密钥或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 Beans Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@voxslopuli/beans-mcp 🫘
[beans-mcp icon][Test & Build] [codecov] [NPM Version]
MCP (Model Context Protocol) server for Beans issue tracker. Provides programmatic and CLI interfaces for AI-powered interactions with Beans workspaces.
Documentation: beans-mcp.voxslopuli.org
🤖 Try Beans fully-integrated with GitHub Copilot in VS Code! Install the selfagency.beans-vscode extension.
Usage
Bundled beans CLI
The beans CLI binary is bundled via platform-specific optional dependencies
(@voxslopuli/beans-cli-darwin-arm64, -darwin-x64, -linux-arm64,
-linux-x64, -win32-x64), pinned to the supported Beans version (0.4.2).
At startup the server resolves the bundled binary first and falls back to the
beans command in PATH. An explicit --cli-path always wins.
To release new platform packages when Beans publishes a new version:
Or dispatch the Release beans CLI packages workflow on GitHub Actions.
Versioning
@voxslopuli/beans-mcp has its own package versioning. Compatibility with the
Beans CLI is tracked separately.
At startup, the server compares the installed beans CLI version against the
hardcoded supported Beans version: 0.4.2. If they differ, it prints a warning
to stderr and continues startup.
Parameters
--workspace-rootor positional arg: Workspace root path--cli-path: Path to Beans CLI--port: MCP server port (default: 39173)--log-dir: Log directory-h,--help: Print usage and exit
Summary of public MCP tools
Notes
- The
beans_querytool is intentionally broad: prefer it for listing, searching, filtering or sorting beans, and for generating Copilot instructions (operation: 'llm_context'). - All file and log operations validate paths to keep them within the workspace or the VS Code log directory. The
.beans/prefix is automatically stripped from paths — you can pass eithersome-bean.mdor.beans/some-bean.mdand the result is the same. beans_updatereplaces many fine-grained update tools; callers should use it to keep the public tool surface small and predictable.beans_archiveprovides CLI parity for archiving completed/scrapped beans.- Closing a parent bean via
beans_update(status: completedorstatus: scrapped) cascades the same status to all descendants. - Reopening a parent bean via
beans_reopencascades the target status to closed descendants (completed/scrapped). beans_bulk_createandbeans_bulk_updateare best-effort: they process each item sequentially and return a per-item result array with success/error entries rather than failing atomically.- Frontmatter
title:values are automatically double-quoted on write. Pass raw titles — quoting and escaping is handled for you. beans_bean_filesupportsupdate_frontmatterfor atomic frontmatter-only writes; supported fields includeprandbranch.- Unfiltered list results are cached with a short burst TTL and a timestamp-probe refresh strategy. Mutation tools (
beans_create,beans_update,beans_delete, etc.) invalidate the cache immediately. - Version mismatches between
beans-mcpand the Beans CLI are warning-only and non-blocking by design. - When
beanIdis missing in tool input, validation errors include a hint:Did you mean \beanId`?`.
Examples
beans_init
Request:
Response (structuredContent):
beans_view
Request:
Request (multiple beans):
Response (structuredContent):
beans_archive
Request:
Response (example):
beans_create
Request:
descriptionis accepted as a deprecated alias forbody.
Response (structuredContent):
beans_bulk_create
Request:
The top-level parent is applied as a default to any bean that does not specify its own parent. Here Design mockups and Implement API are assigned to epic-123; Write tests overrides with epic-456.
Response (structuredContent):
beans_bulk_update
Request (move a batch of tasks to in-progress and assign them to a parent):
Response (structuredContent):
Both bulk tools are best-effort: partial failures are reported per-item rather than aborting the whole batch.
beans_update
Request (change status and add blocking):
Request (atomic body modifications):
Note:
body(full replacement) cannot be combined withbodyAppendorbodyReplacein the same request.
Response (structuredContent):
beans_delete
Request:
Response:
Batch request:
Batch response (summary):
beans_reopen
Request:
Response:
beans_complete_tasks
Request:
Response:
beans_query examples
Refresh (list all beans):
Response (partial):
Filter (statuses/types/tags):
Search (full-text):
Sort (modes: status-priority-type-title, updated, created, id):
Ready (actionable beans only):
LLM context (generate Copilot instructions; optional write-to-workspace):
Response (structuredContent):
Raw GraphQL passthrough (CLI parity with beans query):
With variables:
beans_bean_file
Request (read):
Response:
Request (atomic frontmatter update):
Response:
beans_output
Request (read last 200 lines):
Response:
Programmatic usage
Installation
Example
API
createBeansMcpServer(opts)
Creates and initializes a Beans MCP server instance.
Options:
workspaceRoot(string): Path to the Beans workspacecliPath(string, optional): Path to Beans CLI executable (default: 'beans')name(string, optional): Server name (default: 'beans-mcp-server')version(string, optional): Server versionlogDir(string, optional): Directory for server logsbackend(BackendInterface, optional): Custom backend implementation
Returns: { server: McpServer; backend: BackendInterface }
startBeansMcpServer(argv)
CLI-compatible entrypoint for launching the server.
Utility Functions
parseCliArgs(argv: string[]): Parse CLI argumentsisPathWithinRoot(root: string, target: string): boolean: Check if path is contained within rootsortBeans(beans, mode): Sort beans by specified mode
Types & Schemas
Export of GraphQL schema, Zod validation schemas, and TypeScript types for Beans records and operations.
Agent Skills (skills-npm, skills.sh)
This package ships a built-in Agent Skill under skills/ and also publishes that skill in a format that fits the broader open skills ecosystem surfaced by skills.sh.
- Skill path in package:
skills/beans-mcp/SKILL.md - Published skill artifact:
https://beans-mcp.voxslopuli.org/.well-known/agent-skills/beans-mcp/SKILL.md - Published discovery index:
https://beans-mcp.voxslopuli.org/.well-known/agent-skills/index.json - Compatible with discovery tools that scan:
node_modules/**/skills/*/SKILL.md
That means you can use it with npm-based workflows such as skills-npm, while also pointing ecosystem tooling at the published skill artifact and discovery index used by skills catalogs like skills.sh.
To symlink installed npm-packaged skills into your agent workspace, you can use skills-npm in your consuming project.
License
MIT
来源:README.md,提交 cde19dd
工具
0版本历史
1- v0.1.4最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分