- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
3.9 KiB
MCP & Skills
NomiFun has two extension mechanisms that are easy to confuse:
- MCP servers are external tool servers. They expose callable tools over stdio, HTTP, or SSE.
- Skills are markdown/folder knowledge bundles. They tell an agent how to do a workflow; they are not long-running tool servers.
Current pages:
| Capability | Page |
|---|---|
| MCP servers | /mcp |
| Skills | /assistants?tab=skills |
| Assistants | /assistants?tab=assistants |
| Public/remote capability exposure | /open-capabilities |
Legacy settings URLs redirect to these pages.
MCP Servers
Open /mcp to add, import, test, enable, disable, and sync MCP servers.
Each server row owns:
- name;
- transport:
stdio,http, orsse; - command / args / env for stdio, or URL for HTTP/SSE;
- raw imported JSON, when imported from another agent config;
- enabled state;
- last connection-test result.
Connection test uses a temporary MCP client, performs the handshake, lists tools, and persists the result. Failure codes include command-not-found, permission, timeout, HTTP, RPC, and protocol errors.
OAuth-backed HTTP/SSE servers use the /api/mcp/oauth/* flow.
Importing and Syncing Agent Configs
GET /api/mcp/agent-configs detects MCP config files from supported local agent
CLIs. The UI lets you import detected servers into NomiFun and push the NomiFun
list back to selected agent configs when an adapter supports writing.
This sync is config management only. A conversation still decides which MCP servers are visible for that session.
Per-Conversation Selection
Enabling an MCP server globally makes it available. It does not inject it into every agent automatically. Conversation/session setup builds the final MCP list from:
- globally enabled servers;
- the servers selected for that conversation;
- built-in bridge servers required by the active capability set.
The resulting list is passed to the agent session start payload.
MCP API
| Operation | Endpoint |
|---|---|
| List / create | GET, POST /api/mcp/servers |
| Import batch | POST /api/mcp/servers/import |
| Get / update / delete | GET, PUT, DELETE /api/mcp/servers/{id} |
| Toggle | POST /api/mcp/servers/{id}/toggle |
| Test connection | POST /api/mcp/test-connection |
| Detect agent configs | GET /api/mcp/agent-configs |
| OAuth | POST /api/mcp/oauth/check-status, /login, /logout; GET /api/mcp/oauth/authenticated |
Skills
Open /assistants?tab=skills.
A skill is either a single markdown file or a directory containing SKILL.md.
Sources:
| Source | Meaning |
|---|---|
| Builtin | Shipped with the app. Some are auto-injected. |
| Custom | Imported by the user or placed in a configured skill directory. |
| Extension | Provided by an installed extension. |
Skills can be tagged, imported, exported/symlinked, scanned from external paths, or materialized for a specific agent backend.
Skill API
| Operation | Endpoint |
|---|---|
| List | GET /api/skills |
| Builtin auto-injected list | GET /api/skills/builtin-auto |
| Tags | PUT /api/skills/{name}/tags |
| Info / paths | POST /api/skills/info, GET /api/skills/paths |
| Import / export / delete | POST /api/skills/import, POST /api/skills/import-symlink, POST /api/skills/export-symlink, DELETE /api/skills/{name} |
| Scan / detect paths | POST /api/skills/scan, GET /api/skills/detect-paths, GET /api/skills/detect-external |
| Materialize for agent | POST /api/skills/materialize-for-agent |
| Assistant rule/skill files | /api/skills/assistant-rule/*, /api/skills/assistant-skill/* |
| External paths | GET, POST, DELETE /api/skills/external-paths |
| Skills market | POST /api/skills/market/enable, POST /api/skills/market/disable |

