承接 survos/mcp-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

survos/mcp-bundle

Composer 安装命令:

composer require survos/mcp-bundle

包简介

Exposes a Survos app to AI coding agents as MCP tools (via symfony/ai-mate). Tools are thin wrappers over existing console exports (meta:export, atlas:export, dataset:*), giving agents a queryable view of the app's declared metadata graph and its dataset workflows.

README 文档

README

Exposes a Survos application to AI coding agents as MCP tools, via symfony/ai-mate.

The goal: when an agent is asked to "design a dashboard for a tenant" or "show me how to display this entity's fields", it can query the app's declared metadata (field-bundle #[Field] / #[RouteMeta] / #[RouteIdentity], atlas's route/entity graph) instead of guessing from variable names — and it can drive dataset workflows (dataset:head, import:convert) by intent.

Status: repurposed scaffold (2026-06). This bundle previously held an experimental MCP client (JSON-RPC over Symfony HttpClient). That code was removed: the official mcp/sdk Mcp\Client fully supersedes it (typed results, cursor pagination, progress callbacks, HTTP and stdio transports, and it accepts a PSR-18 client — so you can still pass Symfony's Psr18Client). The bundle now goes the other direction: it provides tools to an agent. See PLAN.md for the full design and build steps.

Architecture

  • Transport = ai-mate. This bundle declares extra.ai-mate.scan-dirs: ["src/Mcp"] and ships #[McpTool] classes (Mcp\Capability\Attribute\McpTool, from mcp/sdk).
  • Tools wrap existing exports — they don't reinvent them. meta:export (field-bundle) and atlas:export (atlas-bundle) already emit the metadata graph; the dataset commands already exist. MCP tools call them.
  • Why wrappers, not services: ai-mate builds its own standalone container and never boots the app kernel, so a #[McpTool] cannot autowire app compile-time services (EntityMetaRegistry, DatasetResolver, …). Each tool therefore runs bin/console <command> --format=json via symfony/process and returns the parsed JSON. The in-app console command is the real engine.

Tools (planned — see PLAN.md)

Tool Wraps Answers
describe_entity meta:export --entity --fields fields, facets, widgets, URL identity for displaying an entity
routes_for_entity meta:export --entity routes by Purpose — "design a dashboard for a tenant"
find_routes_injecting meta + atlas routes that inject an entity (declared + inferred candidates)
suggest_pages meta:export gaps missing routes worth adding
atlas_attributes / atlas_query atlas:export the raw attribute/route/entity map
dataset_head / dataset_list / dataset_convert dataset:* / import:convert dataset workflows by intent
survos_command any bin/console generic long-tail fallback

Installation

composer require survos/mcp-bundle

Then, in the host app: register the bundle, run vendor/bin/mate discover, and enable the extension in mate/extensions.php. Verify with vendor/bin/mate debug:capabilities --format=json.

Requires

PHP 8.4+, Symfony 8.1+. Extends Survos\Kit\AbstractSurvosBundle.

统计信息

  • 总下载量: 29
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 12
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固