# REST 与 CLI

> 不用 MCP 直接调用工具：认证、项目选择，以及现有的端点。

URL: https://mcp-docs.opennomos.com/zh/docs/reference/rest-and-cli

REST API 和 MCP 是同一套工具实现的两个入口：参数、结果、错误都一样。

## 认证

每个请求都带上 Bearer 令牌：

```http
Authorization: Bearer on_live_…
```

密钥在控制台创建（`https://tools.opennomos.com/console/keys`）。完整密钥只显示**一次**，服务端只存哈希。MCP 客户端拿到的 OAuth 访问令牌用法相同。用请求体里的 `"project"` 或 `X-OpenNomos-Project` 请求头选择项目。

## 端点

基础 URL:`https://service.opennomos.com`

| 方法和路径 | 用途 |
| --- | --- |
| `GET /v1/tools` | 该工作区已启用的工具，带名称、描述和 JSON Schema。 |
| `GET /v1/tools/:name` | 单个工具的契约。 |
| `POST /v1/tools/:name` | 调用工具，JSON 参数放在请求体里。返回 `{ "result": … }`。 |
| `GET /v1/projects`、`POST /v1/projects` | 列出和创建项目。 |
| `GET /v1/projects/:project`、`PATCH /v1/projects/:project` | 读取和更新项目卡片。 |
| `GET/POST /v1/projects/:project/memories` | 列出和添加记忆。 |
| `PATCH /v1/memories/:id`、`DELETE /v1/memories/:id` | 更新和忘掉一条记忆。 |
| `GET /SKILL.md`、`GET /skills/growth/SKILL.md`、`GET /llms.txt` | 公开，无需认证：agent 接入说明和可选的增长 skill。 |
| `GET /health` | 存活检查。 |

```sh
curl https://service.opennomos.com/v1/tools/discover_tools -X POST \
  -H "Authorization: Bearer $OPENNOMOS_API_KEY" -H "content-type: application/json" -d '{}'
```

## MCP

`POST https://mcp.opennomos.com/mcp` 是无状态的 Streamable HTTP，返回 JSON;`GET` 和 `DELETE` 返回 405 并带 `Allow: POST`。发现文档在 `/.well-known/oauth-protected-resource/mcp` 和 `/.well-known/oauth-authorization-server`。已有的 2025 版协议客户端也受支持。

## CLI

服务仓库里带一个小 CLI（`nomos`）。它读取 `NOMOS_URL` 和 `NOMOS_API_KEY`:

```sh
nomos tools
nomos call search_signals --json '{"query":"alternatives to Notion"}'
```

<Callout type="info">
目前 CLI 只在服务源码里，还没有作为包发布；TODO：发布后补上安装说明。
</Callout>

## 增长 skill

另有一个可选的独立 skill，地址是 `https://service.opennomos.com/skills/growth/SKILL.md`，提供一些探索思路。它不会改变工具的输入，也不会强加流程。需要时再加载。
