hio-client MCP Server
Enables agents to interact with the Human Is Offline protocol by reading authority cards, submitting encrypted ask-first notes, and fetching delegation receipts.
README
@humanisoffline/hio-client
Canonical Human Is Offline agent loop for npm and MCP.
Source repo for the public npm package. The hosted app lives in a separate private monorepo.
Install
npm install @humanisoffline/hio-client
API
import {
createHioClient,
buildAskFirstEnvelopeFromCard,
HIO_PROTOCOL_VERSION,
} from "@humanisoffline/hio-client";
const hio = createHioClient({ baseUrl: "https://humanisoffline.com" });
const resolved = await hio.resolveCard({
type: "github",
identifier: "octocat",
});
const markdown = await hio.fetchCardMarkdown(resolved.cardMarkdown);
const cardJson = await hio.fetchCardJson(resolved.cardJson);
const result = await hio.submitAskFirstNotePlaintext({
cardJson,
plaintext: {
schemaVersion: HIO_PROTOCOL_VERSION,
type: "inform",
title: "Need approval",
summary: "Deploy staging after tests pass.",
urgency: "normal",
riskLevel: "medium",
},
interpretedBoundary: {
outcome: "ask_first",
summary: "Deploy staging",
},
});
const receipt = await hio.getReceipt(result.receiptUrl);
Lower-level envelope builder
If you already have card fields and the public encryption key:
import { buildAskFirstEnvelope } from "@humanisoffline/hio-client";
const envelope = buildAskFirstEnvelope({
cardSlug: "example",
cardUpdatedAt: "2026-07-12T12:00:00.000Z",
cardSchemaVersion: 3,
publicEncryptionKey: "…",
publicKeyId: "pk_…",
plaintext: { /* see agent-request.v3.json */ schemaVersion: 3, … },
});
await hio.submitAskFirstNote({ cardSlug: "example", envelope });
Encryption uses sealed_box_v1 (NaCl box). Plaintext is never sent to the server.
MCP server
HIO_BASE_URL=https://humanisoffline.com npx @humanisoffline/hio-client hio-mcp
One agent loop via tools:
fetch_card_markdown— read authority from/c/{slug}.mdfetch_card_json— structured fields and encryption keyssubmit_ask_first_note— passcardJsonUrl+plaintext; encrypts and posts one inbox noteget_receipt— fetch delegation receipt JSON
Optional: resolve_card when the human shared an alias instead of a card URL.
submit_ask_first_note is the only submit path. It fetches card JSON, builds the sealed envelope, and stops after one POST.
Discovery: read /llms.txt on the configured base URL for routes and schemas.
Network access
This package makes outbound HTTPS requests to the configured Human Is Offline base URL (https://humanisoffline.com by default). It does not phone home elsewhere, collect telemetry, or run code at install time.
Publishing
Releases are published from GitHub Actions with npm provenance (OIDC trusted publishing).
- Bump
versioninpackage.json. - Commit and push to
main. - Tag and push:
git tag v0.1.1 && git push origin v0.1.1
The publish.yml workflow runs build, test, and npm publish on tag push.
Trusted publisher on npmjs.com must point at workflow publish.yml in humanisoffline/hio-client.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。