オープンなエージェント API ゲートウェイ SDK。AI エージェントが 6 つの Unix ライクなコマンドでインターネット上の任意の API を発見・呼び出し可能にし、開発者は DNS 検証を通じて自分の API をエージェント発見用に登録できます。 — nkmc.ai
| パッケージ | 説明 | npm |
|---|---|---|
@nkmc/cli |
エージェント・開発者向け CLI | |
@nkmc/core |
サーバー SDK — JWT 検証、ミドルウェア、skill 生成 |
CLI をインストールして API のブラウジングを開始:
npm install -g @nkmc/cli
# 認証(トークン有効期限 24 時間)
nkmc auth
# サービスを発見
nkmc ls /
# API を検索
nkmc grep "weather" /
# サービスを探索
nkmc ls /api.weather.gov/
nkmc grep "forecast" /api.weather.gov/
# API 仕様を読む
nkmc cat /api.weather.gov/skill.md| コマンド | 説明 | HTTP 相当 |
|---|---|---|
nkmc ls <path> |
サービスやディレクトリ内容を一覧表示 | GET /fs/<path>/ |
nkmc cat <path> |
ファイルを読む、または GET エンドポイントを呼び出す | GET /fs/<path> |
nkmc grep <pattern> <path> |
サービスやエンドポイントを検索 | GET /fs/<path>?q=<pattern> |
nkmc write <path> [data] |
POST エンドポイントにデータを送信 | POST /fs/<path> |
nkmc rm <path> |
リソースを削除 | DELETE /fs/<path> |
nkmc pipe <expr> |
Unix パイプでコマンドを連鎖 | GET の後 POST |
ゲートウェイ上で 40 以上の API が利用可能です(すべて見る):
| カテゴリ | サービス |
|---|---|
| 開発ツール | GitHub、GitLab、Vercel、Sentry、PagerDuty、CircleCI、Postman |
| クラウド・デプロイ | Cloudflare、DigitalOcean、Fly.io、Render |
| AI・機械学習 | OpenAI、OpenRouter、HuggingFace |
| コミュニケーション | Slack、Discord、Twilio、Resend |
| プロダクティビティ | Notion、Asana、Jira、Spotify |
| データベース | Supabase、Neon、Turso |
| コマース | Stripe |
| データ | Wikipedia、Weather.gov、Datadog |
| ブロックチェーン | Ethereum RPC(Ankr、Alchemy、Infura、Arbitrum、Optimism、Base、Polygon) |
# 例:API を検索して探索
nkmc grep "deploy" /
# api.github.com — GitHub v3 REST API
# api.cloudflare.com — Cloudflare API
# fly.io — Machines API
nkmc grep "email" /
# api.resend.com — Resend · 70 endpoints
nkmc grep "blockchain" /
# rpc.ankr.com — JSON-RPC · 13 endpoints
# arb1.arbitrum.io — JSON-RPC · 13 endpoints
nkmc ls /rpc.ankr.com/
# blocks/ balances/ transactions/ receipts/ logs/ ...
nkmc cat /rpc.ankr.com/balances/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045.jsonAPI を登録して、エージェントが発見・利用できるようにします。
npm install @nkmc/core
npm install -g @nkmc/cli# フレームワークを検出し、nkmc.config.ts を作成
nkmc init
# ルートをスキャンし、.well-known/skill.md を生成
nkmc generate# DNS チャレンジをリクエスト
nkmc claim api.example.com
# TXT レコードを追加してから検証
nkmc claim api.example.com --verifynkmc register --domain api.example.comimport { Nkmc } from "@nkmc/core";
const nkmc = Nkmc.init({
siteId: "api.example.com", // ステップ 3 で申請したドメイン
});
// すべてのエージェントリクエストを検証
app.use(nkmc.guard());
// またはロールで制限
app.use("/admin", nkmc.guard({ roles: ["premium"] }));ゲートウェイの公開鍵は
https://api.nkmc.ai/.well-known/jwks.jsonから自動取得・キャッシュされます。gatewayPublicKeyで明示的に指定することも可能です。
import { verifyRequest } from "@nkmc/core";
const result = await verifyRequest(
req.headers.authorization,
{ siteId: "api.example.com" }
);
if (result.ok) {
console.log(result.agent.id); // エージェント ID
console.log(result.agent.roles); // ["agent"]
}import { generateSkillMd } from "@nkmc/core";
const markdown = generateSkillMd({
frontmatter: {
name: "My API",
gateway: "nkmc",
version: "1.0",
roles: ["agent"],
},
description: "My API — powered by nkmc.",
schema: [
{
name: "Products",
description: "商品カタログ",
read: "agent",
write: "agent",
fields: [
{ name: "id", type: "string", description: "商品 ID" },
{ name: "name", type: "string", description: "商品名" },
],
},
],
api: [
{ method: "GET", path: "/api/products", role: "agent", description: "すべての商品を一覧表示" },
],
});// nkmc.config.ts
import { defineConfig } from "@nkmc/core";
export default defineConfig({
name: "my-api",
version: "1.0",
roles: ["agent", "premium"],
framework: "hono",
pricing: {
"POST /api/orders": { cost: 0.05, token: "USDC" },
},
});| 変数 | 説明 |
|---|---|
NKMC_GATEWAY_URL |
ゲートウェイ URL(デフォルト:https://api.nkmc.ai) |
NKMC_TOKEN |
エージェント JWT トークン(nkmc auth 推奨) |
NKMC_PUBLISH_TOKEN |
登録用のパブリッシュトークン |
NKMC_DOMAIN |
サービスのデフォルトドメイン |
NKMC_HOME |
設定ディレクトリ(デフォルト:~/.nkmc) |
# 依存関係をインストール
pnpm install
# すべてのパッケージをビルド
pnpm build
# テストを実行
pnpm test- ドキュメント:nkmc.ai/docs
- エージェントリファレンス:nkmc.ai/agent.md
- ゲートウェイ:api.nkmc.ai
MIT