内容
# 联系人 API
一个开源的 API,用于保存联系人信息。发送一个包含电子邮件和其他任意 JSON 字段的 `POST` 请求,它们就会原样保存。使用简单的 CRUD 管理它们。
使用 [Hono](https://hono.dev) 构建,并部署在 [Vercel](https://vercel.com) 上。
- **主页 & 文档** — [`/`](src/pages/home.ts)
- **登录** — [`/login`](src/pages/login.ts)
- **注册** — [`/signup`](src/pages/signup.ts)
- **LLM友好文档** — [`/llms.txt`](src/content/llms.ts)
## API 概述
基准 URL 是 `https://contactapi.dev`,每个请求都携带您的 API 密钥作为 Bearer token:
```
Authorization: Bearer YOUR_KEY
```
| 方法 | 路径 | 密钥 | 描述 |
| -------- | ------------------- | --------------------- | ------------------------------------ |
| `POST` | `/v1/contacts` | 密钥或发布密钥 | 通过电子邮件创建(或更新)联系人 |
| `GET` | `/v1/contacts` | 密钥 | 列出联系人,分页 |
| `GET` | `/v1/contacts/:id` | 密钥 | 获取单个联系人 |
| `PATCH` | `/v1/contacts/:id` | 密钥 | 更新联系人 |
| `DELETE` | `/v1/contacts/:id` | 密钥 | 删除联系人 |
联系人以电子邮件为索引 — 创建一个已经存在的电子邮件联系人会更新它,而不是重复它。完整的参考资料位于主页和 [`/llms.txt`](src/content/llms.ts) 中。
有两种类型的密钥:
- `ck_secret_…` — 密钥,用于您的后端。完全访问每个端点。
- `ck_pub_…` — 发布密钥,用于浏览器。只能创建联系人,并且锁定到您的域名。
## MCP 服务器
AI 客户端(Claude Desktop,claude.ai 自定义连接器,Cursor,MCP 检查器)可以通过 [MCP](https://modelcontextprotocol.io) 服务器在:
```
https://contactapi.dev/mcp
```
进行身份验证 **OAuth 2.1 with dynamic client registration** — 指向客户端的 URL,它会发现授权服务器,注册自己,并发送您登录和批准访问;无需复制 API 密钥。服务器公开了五个工具,镜像了 REST API:`list_contacts`,`get_contact`,`create_contact`(按电子邮件更新),`update_contact` 和 `delete_contact`。所有操作都限定在您登录的帐户范围内。
OAuth 提供者是 [Better Auth](https://better-auth.com) 的 `mcp` 插件([`src/auth.ts`](src/auth.ts));工具和端点线路位于 [`src/mcp/server.ts`](src/mcp/server.ts) 和 [`src/index.ts`](src/index.ts) 中。
## 开发
前提条件:全局安装 [Vercel CLI](https://vercel.com/docs/cli)。
```bash
npm install
vc dev
open http://localhost:3000
```
## 构建
```bash
npm install
vc build
```
## 部署
```bash
npm install
vc deploy
```
## 许可证
[MIT](LICENSE.md)