Pi Agent Platform
v1.2.17 docs · VI Commands

MCP trong Pi Agent Platform

Pi core không hard-code MCP. Platform cài pi-mcp-adapter để dùng MCP theo kiểu token-efficient, và thêm một lớp quản lý server lên trên bốn layer config.

Bắt đầu ở đâu

/piagent-mcp là ra menu — không cần nhớ subcommand nào:

MCP
  Servers — 2/3 ready
  Doctor — 1 need attention          (recommended)
  Inspect a server
  Approve a repository server — 1 waiting
  Turn a server off
  Add a server
  All subcommands

Menu dựng theo đúng thứ project đang có: chưa server nào bị tắt thì không hiện "turn back on", không server nào chờ duyệt thì không hiện "approve". Chọn việc cần server thì nó hỏi tiếp server nào — trừ khi chỉ có đúng một lựa chọn.

Mọi mục trong menu đều gõ thẳng được:

/piagent-mcp doctor     cái nào chưa chạy được và còn thiếu gì
/piagent-mcp status     bảng đầy đủ
/mcp                    trạng thái kết nối live, do adapter giữ
/mcp-auth <name>        đăng nhập OAuth cho một server

Ngoài terminal thì cùng bộ lệnh đó bỏ dấu /: piagent-mcp list, piagent-mcp doctor. Thêm và xoá server chỉ có ở terminal. Chi tiết ở Quản lý server.

Ba thứ trùng tên, không nối với nhau

Đây là chỗ gây nhầm nhiều nhất. Không có dòng code nào map capability name sang MCP server id — khai "github" trong mcpCapabilities không bật server MCP tên github, và ngược lại.

ThứỞ đâuLà gì
mcpCapabilities: ["github"] .pi/piagent-profile.json Nhãn capability cho tool registry
toolCapabilities base-policy.json Map một tool tên là github sang capability
server github ~/.config/mcp/mcp.json Server MCP thật, chạy qua Docker

Bốn layer config

Cả bốn file đều được đọc. --scope của piagent-mcp chính là bốn tên này.

ScopeFileDùng khi nào
global~/.config/mcp/mcp.jsonMặc định. Dùng chung cho nhiều agent và nhiều project
pi-global~/.pi/agent/mcp.jsonChỉ khi cần override riêng cho Pi
project.mcp.jsonServer đặc thù repo, commit được
pi-project.pi/mcp.jsonOverride riêng Pi trong một repo
Hai layer cuối đi theo repo

Clone một repo về là mang theo cả .mcp.json của nó. Vì vậy server ở hai scope đó phải qua approval gate trước khi dùng được.

Preset seed sẵn

piagent-setuppiagent-install đều cài pi-mcp-adapter và seed preset core mặc định. Bỏ qua bằng --no-mcp.

PresetServerMục đích
minimalChỉ seed settings an toàn
docsContext7Docs mới của framework/library
browserChrome DevTools, PlaywrightInspect UI/runtime, browser automation
githubGitHub MCPIssue/PR/repo/release workflow
designFigma remoteDesign-to-code qua Figma OAuth
design-localFigma desktopDev Mode MCP chạy local
webContext7, Chrome DevTools, PlaywrightFE/web workflow
coreContext7, Chrome DevTools, GitHubBaseline mặc định của team
popularcore + Playwright + FigmaBaseline nhiều team dev dùng
allpopular + Figma desktopĐầy đủ

Mọi server đều pin theo version hoặc digest. MCP server là code chạy trên máy operator với credential của operator, nên tag trôi nổi sẽ biến mỗi session thành một quyết định supply-chain không ai có mặt để duyệt.

Ghi config không bằng dùng được

Server connect lazy — không có gì được kiểm tra cho tới lần gọi đầu tiên. Trạng thái auth cho biết server nào thật sự sẵn sàng.

Token efficiency

pi-mcp-adapter đưa mọi server qua một proxy tool duy nhất tên mcp, thay vì nạp toàn bộ tool schema vào context lúc start. Mặc định directTools: false, cộng với outputGuardidleTimeout.

Bẫy khi bật toolRegistry: enforce

Proxy tool tên mcp không nằm trong alwaysAllowedTools và không có trong toolCapabilities, nên enforce sẽ chặn toàn bộ MCP. Khai thêm mcpCapabilities không cứu được vì block xảy ra trước khi capability được đọc. Ngoại lệ duy nhất là permission profile trusted-full-access.