Skip to main content
Glama

@servicialo/mcp-server

Servicialo標準のプロトコルレベルのMCPインターフェース — AIエージェント時代における人間のサービスの宛先レイヤー。 HTTPはドキュメントをアドレス可能にした。Servicialoはサービスをアドレス可能にする。MCPとA2Aはトランスポートである。Servicialoはエージェントが到達する宛先である。

このパッケージは、Servicialo互換の任意のバックエンドのためのプロトコルレベルのMCPインターフェースです — 特定のプラットフォームへのコネクタではありません。Coordinarloがリファレンス実装(およびデフォルト)ですが、独自のバックエンドを接続することもできます。

プロトコル: v0.10 (draft) · 仕様: servicialo.com/spec · このパッケージはプロトコルとは独立してバージョン管理されます(0.9.x から 1.0 まで)。

1.0への道のり

Servicialoプロトコルは安定化フェーズに入ります。最初の正式なRFCコホートは、Final Comment Periodに移行する前に最低4週間のウィンドウでコメントを受け付けています。1.0まで、リリースは引き続き0.9.xパッチであり、プロトコルへの破壊的変更にはRFCのマージと事前の通知が必要です。

1.0に向けた未達マイルストーン

マイルストーン

ステータス

RFC-001 — RFC Process & Deprecation Policy

ドラフト / コメント受付中

RFC-002 — Prepayment & Client Credit Balance

ドラフト / コメント受付中

RFC-003 — Refunds & Credit Notes (Forward-Only Ledger)

ドラフト / コメント受付中

RFC-004 — PII / PHI Classification Framework

ドラフト / コメント受付中

安定したCoreの宣言(8次元・6+3サイクル・6フロー・7原則)と後方互換性の保証

保留中

本番環境での独立した実装が3つ以上

進行中

Related MCP server: DiviDen MCP Server

アーキテクチャ

@servicialo/mcp-server  →  interfaz MCP a nivel de protocolo
        ↓ se conecta a cualquier backend compatible con Servicialo
Coordinalo              →  implementación de referencia (default)
Tu implementación       →  trae tu propio backend

問題

AIエージェントはウェブを閲覧し、コードを書き、会話を維持できます。しかし、キネシオロジー(運動学)のセッションを予約し、それが発生したことを確認し、支払いを処理するように依頼すると — 崩壊します。

現在、各プラットフォームはサイロです。以下のための標準はありません:

  • 発見 — どの提供者が、どの組織で、私が必要とするものを提供しているか?

  • アイデンティティ — このエージェントは誰の代理で行動し、何を行うことを許可されているか?

  • ライフサイクル — このサービスはどの状態か?誰が確認したか?誰が出席したか?

  • 納品の証明 — セッションは実際に発生したか?どのくらいの時間?どこで?

  • 決済 — いくら、誰に、どのような契約条件の下で?

共有プロトコルがなければ、各統合は手作業です。各エージェントとプラットフォームの接続はカスタムAPIです。これはスケールしません。

Servicialoとは

Servicialoはオープンプロトコルであり、プラットフォームではありません。専門サービスのライフサイクル(発見から支払いまで)を、あらゆるAIエージェントやプラットフォームが実装できる形で定義します。

その関係は、HTTPとApache、またはSMTPとGmailのようなものです:Servicialoがルールを定義し、実装がそれに命を吹き込みます。

プロトコルは各サービスを8次元6+3ライフサイクル(6つのコア状態+3つのオプションの財務状態)、6つの例外フロー7つの基本原則を通じてモデル化します — これは業種横断的に普遍的です(ヘルスケア、法務、教育、家庭サービス):

Solicitado → Agendado → Confirmado → En Curso → Completado → Documentado → Facturado → Cobrado → Verificado

あらゆるサービスは、あらゆる業種で、このシーケンスに従います。業種固有のロジックは各状態の内部に存在しますが、状態マシンは不変です。

このMCPサーバーの機能

このパッケージは、Servicialoプロトコルを、サービスのライフサイクルの7フェーズ(0〜6、HTTP上のDNSに相当する発見リゾルバを含む)で整理された40のMCPツールとして公開します。さらに、リソース管理、リゾルバ管理、ネットワークインテリジェンスmarket.*)、コールドスタート発見(事前に知らなくてもタクソノミーを把握するためのregistry.list_*)も含みます。エージェントはデータベースエンティティごとにエンドポイントを呼び出すのではなく、サービスの調整という自然なフローに従います。

フェーズ0 — DNS解決(3ツール、認証なし)

ツール

説明

resolve.lookup

orgSlugをMCP/RESTエンドポイントと信頼レベルに解決する(DNSルックアップに相当)

resolve.search

グローバルリゾルバで国と業種別に登録済みの組織を検索する

trust.get_score

組織の信頼スコアを取得する(スコア0-100、レベル、最終アクティビティ)

フェーズ1 — 発見(6ツール、認証なし)

ツール

説明

registry.search

業種、場所、国で組織を検索する

registry.get_organization

公開詳細を取得する:サービス、提供者、予約設定

registry.manifest

サーバーのマニフェストを取得する:機能、プロトコルバージョン、組織メタデータ

scheduling.check_availability

空き状況を照会する(3つの変数:提供者∧クライアント∧リソース)

services.list

組織の公開サービスカタログを一覧表示する

a2a.get_agent_card

エージェント間発見のための組織のA2Aエージェントカードを取得する

フェーズ2 — 理解(2ツール)

ツール

説明

スコープ

service.get

サービスの8次元を取得する

service:read

contract.get

契約条件を取得する:必要な証拠、キャンセルポリシー、紛争ウィンドウ

service:read order:read

フェーズ3 — コミット(3ツール)

ツール

説明

スコープ

clients.get_or_create

メール/電話でクライアントのアイデンティティを解決する — 1回の呼び出しで検索または作成

patient:write

scheduling.book

セッションを予約 → solicitado状態。物理リソースにはresource_idがオプション

schedule:write

scheduling.confirm

予約済みセッションを確認 → confirmado状態

schedule:write

フェーズ4 — ライフサイクル(4ツール)

ツール

説明

スコープ

lifecycle.get_state

現在の状態、利用可能な遷移、履歴を取得する

service:read

lifecycle.transition

証拠付きで状態遷移を実行する

service:write

scheduling.reschedule

新しい日時で再予約する(契約ポリシーが適用される場合あり)

schedule:write

scheduling.cancel

セッションをキャンセルする(契約のキャンセルポリシーが適用される)

schedule:write

フェーズ5 — 納品の検証(3ツール)

ツール

説明

スコープ

delivery.checkin

GPS+タイムスタンプでチェックイン → en_curso状態

evidence:write

delivery.checkout

GPS+タイムスタンプでチェックアウト → entregado状態(所要時間は自動計算)

evidence:write

delivery.record_evidence

証拠を記録する:gpsfirmafotodocumentoduraciónnotas

evidence:write

フェーズ6 — クローズ(4ツール)

ツール

説明

スコープ

documentation.create

サービスの記録を生成する(臨床メモ、検査レポートなど)→ documentado状態

document:write

payments.create_sale

文書化されたサービスに対する請求を作成 → cobrado状態

payment:write

payments.record_payment

売上に対する受領済み支払いを記録する

payment:write

payments.get_status

売上の支払い状態またはクライアントの口座残高を取得する

payment:read

リソース管理(6ツール)

ツール

説明

スコープ

resource.list

組織の物理リソースを一覧表示する

resource:read

resource.get

空きスロット付きでリソースの詳細を取得する

resource:read

resource.create

新しい物理リソースを作成する(部屋、ボックス、設備)

resource:write

resource.update

リソースを更新する(セマンティックパッチ)

resource:write

resource.delete

リソースを無効化する(ソフト削除:is_active = false

resource:write

resource.get_availability

日付範囲でリソースの空き状況を照会する

resource:read

リゾルバ管理(3ツール)

ツール

説明

スコープ

resolve.register

MCP/RESTエンドポイント付きで組織をグローバルリゾルバに登録する

resolve:write

resolve.update_endpoint

登録済みエンドポイントを更新する(バックエンド間の移植性)

resolve:write

telemetry.heartbeat

ノードがアクティブであることを示すハートビートをリゾルバに送信する

telemetry:write

ネットワークインテリジェンス(2ツール、認証なし)

運用ノードが提供する運用テレメトリに関する匿名化された市場ベンチマーク。貢献すればアクセスできるポリシー(k-匿名性 ≥ 5):

ツール

説明

market.list_segments

データが利用可能なセグメント (event_type × vertical × region) を一覧表示(k-匿名性 ≥ 5 の異なる貢献者でフィルタリング)

market.get_benchmark

セグメントのバケット分布を取得(例:health/CLpayment_settled における各 price_band のシェア)。Tier 0/1 は90日遅延のデータを閲覧可能。Tier 2(30日以内に50件以上のイベント)はリアルタイムデータを閲覧可能

タクソノミーの発見(3ツール、認証なし)

コールドスタート:エージェントは事前にプロトコルのタクソノミーを知っている必要はない。コンテキストなしで到着した場合はここから始める:

ツール

説明

registry.list_verticals

ネットワークに存在するバーティカル(宣言済み + 30日間のテレメトリで観測されたもの)

registry.list_regions

ネットワークでアクティビティのある国/地域(ISO 3166-1 alpha-2)

registry.list_event_types

運用テレメトリの4種類のイベントタイプ + その payload_fields のカタログ

ドキュメント(1ツール、認証なし)

ツール

説明

docs.quickstart

クイックスタートの5ステップを構造化JSONとして取得 — 事前コンテキストのないエージェントのオンボーディング用

クイックスタート — ネットワークに参加するための5ステップ

ステップ 1. MCPサーバーをインストールする

npx -y @servicialo/mcp-server

ディスカバリーモード — 認証情報なしで15の公開ツール。すぐに試せる:

{
  "tool": "registry.search",
  "arguments": { "vertical": "kinesiologia", "location": "santiago" }
}

ステップ 2. 組織を作成する

coordinalo.com/signup で組織を登録する。Coordinalo は Servicialo プロトコルのリファレンス実装である。

ステップ 3. MCP認証情報を取得する

Coordinalo で:Settings → Servicialo → Generar credenciales MCP。2つの値が取得できる:

  • SERVICIALO_ORG_ID — 組織のスラッグ(例:clinica-dental-sur

  • SERVICIALO_API_KEY — 認証用のベアラートークン

ステップ 4. MCPクライアントを設定する

Claude Desktop、Cursor、または任意のMCPクライアントの設定に追加する:

{
  "mcpServers": {
    "servicialo": {
      "command": "npx",
      "args": ["-y", "@servicialo/mcp-server"],
      "env": {
        "SERVICIALO_API_KEY": "<tu_api_key>",
        "SERVICIALO_ORG_ID": "<tu_org_slug>"
      }
    }
  }
}

ディスカバリー専用モード(15の公開ツール)の場合は env ブロックを省略する。

ステップ 5. Servicialo ネットワークに公開する

Coordinalo で:Settings → Servicialo → Publicar。組織は servicialo.com/network に表示され、他のエージェントから発見可能になる。

ヒント: エージェントは docs.quickstart ツールを呼び出すことで、この5ステップを構造化JSONとして取得できる。

ネットワーク

Servicialo ネットワークは、プロトコルを実装する組織のグローバルレジストリである。認証された各ノードは定期的にハートビートを送信し、任意のエージェントが国、バーティカル、信頼スコアで組織を発見できる。

  • ネットワークを探索する: servicialo.com/network

  • バーティカルで検索する: registry.search({ vertical: "kinesiologia", country: "cl" })

  • 組織を解決する: resolve.lookup({ org_slug: "clinica-dental-sur" })

認証情報

必須

変数

必須

デフォルト

説明

SERVICIALO_API_KEY

いいえ

ベアラートークン。認証モードを有効化(追加25ツール = 合計40ツール)

SERVICIALO_ORG_ID

いいえ

組織スラッグ。認証モードを有効化

SERVICIALO_BASE_URL

いいえ

http://localhost:3000

Servicialo 互換プラットフォームのAPIエンドポイント

SERVICIALO_ADAPTER

いいえ

coordinalo

バックエンドアダプター:coordinalo または http

SERVICIALO_TELEMETRY

いいえ

true

ノードの匿名テレメトリ(ハートビート)を無効化するには false に設定

SERVICIALO_API_KEYSERVICIALO_ORG_ID は一緒に設定する必要がある。片方だけが存在する場合、サーバーは警告付きでディスカバリーモードにフォールバックする。

運用テレメトリ + ベンチマーク(オプション)

これらの変数により、ノードが匿名化されたイベントをネットワークのベンチマークに貢献し、リアルタイムデータ(tier 2)にアクセスできるようになる。docs/telemetry-operational.md を参照:

変数

必須

デフォルト

説明

SERVICIALO_VERTICAL

いいえ

unspecified

バーティカル(例:healthlegalhome)。イベントが正しいセグメントに集約されるために必要

SERVICIALO_REGION

いいえ

CL

事業国のISO 3166-1 alpha-2。イベントはこれでタグ付けされる

SERVICIALO_NODE_TOKEN

いいえ

レジストリ内のノードの ownership_tokenmarket.* 呼び出しで X-Servicialo-Node-Token ヘッダーとして送信され、tier を識別する(tier 2 = リアルタイムアクセスを含む)

SERVICIALO_OPERATIONAL_TELEMETRY

いいえ

true

運用イベント(booking_created、service_completed、dispute_opened、payment_settled)の自動発行を無効化するには false に設定

SERVICIALO_PROTOCOL_VERSION

いいえ

0.9

発行されるイベントで宣言されるプロトコルバージョン

SERVICIALO_TELEMETRY_BASE_URL

いいえ

https://servicialo.com

運用テレメトリの受信エンドポイント(テスト目的のみ変更)

ベンチマークのtierとの関係: 30日以内に50件以上の運用イベントを発行するノードは自動的にtier 2に到達し、market.get_benchmark はリアルタイムデータを返す(デフォルトのtier 0/1の90日遅延の代わりに)。完全なポリシー:GOVERNANCE.md#contribute-to-access-policy-v01

認証情報は coordinalo.com → Settings → Servicialo → Generar credenciales MCP で取得できる。

独自実装を接続する

このMCPサーバーは、プラグ可能なアダプターレイヤーを通じて Servicialo 互換の任意のバックエンドをサポートする。2つのアダプターが含まれている:

  • coordinalo(デフォルト)— /api/organizations/{orgId} 配下の組織スコープのルートを持つ Coordinalo/Digitalo バックエンドに接続する。

  • httpHTTP_PROFILE.md の標準エンドポイントを /v1/* 配下で公開する任意の実装に接続する。

実装を接続するための3ステップ

ステップ 1. プラットフォームに HTTP_PROFILE.md で定義されたRESTエンドポイントを実装する。

ステップ 2. HTTPアダプターを使用するようにMCPサーバーを設定する:

SERVICIALO_ADAPTER=http \
SERVICIALO_BASE_URL=https://tu-plataforma.com \
SERVICIALO_API_KEY=tu_key \
npx -y @servicialo/mcp-server

ステップ 3. MCPクライアントの設定に追加する:

{
  "mcpServers": {
    "servicialo": {
      "command": "npx",
      "args": ["-y", "@servicialo/mcp-server"],
      "env": {
        "SERVICIALO_ADAPTER": "http",
        "SERVICIALO_BASE_URL": "https://tu-plataforma.com",
        "SERVICIALO_API_KEY": "tu_api_key",
        "SERVICIALO_ORG_ID": "tu_org_id"
      }
    }
  }
}

HTTPアダプターは内部ルートを標準エンドポイント /v1/* に変換し、X-Servicialo-Org ヘッダーを介して組織コンテキストを送信する。完全なREST契約については HTTP_PROFILE.md を参照。

委任エージェンシーモデル

このプロトコルはAIエージェントを第一級のアクターとして扱う — しかし、決して暗黙的に信頼することはない。エージェントの各アクションには ServiceMandate が必要である:人間のプリンシパルからエージェントへの明示的な能力の委任。

仕組み

  1. 人間(専門家、患者、または組織)がエージェントにマンデートを発行する

  2. マンデートは、エージェントが誰のために行動するか、何ができるか(スコープ)、どのくらいの期間を指定する

  3. 各ツール呼び出しで、MCPサーバーは実行前にマンデートを8つのチェックに対して検証する

  4. 各アクションは監査エントリを生成する — 成功または失敗

マンデートの例

{
  "mandate_id": "550e8400-e29b-41d4-a716-446655440000",
  "principal_id": "dra_barbara",
  "principal_type": "professional",
  "agent_id": "agent_booking_bot",
  "agent_name": "Asistente de Agendamiento",
  "acting_for": "professional",
  "context": "org:clinica-kinesia",
  "scopes": ["schedule:read", "schedule:write", "patient:write"],
  "constraints": {
    "max_actions_per_day": 50,
    "allowed_hours": {
      "start": "08:00",
      "end": "20:00",
      "timezone": "America/Santiago"
    },
    "require_confirmation_above": {
      "amount": 100000,
      "currency": "CLP"
    }
  },
  "issued_at": "2026-03-01T00:00:00Z",
  "expires_at": "2026-06-01T00:00:00Z",
  "status": "active"
}

ツール呼び出しでのマンデートの使用

actor.type"agent" の場合、mandate_id を含める:

{
  "tool": "scheduling.book",
  "arguments": {
    "service_id": "srv_123",
    "provider_id": "prov_111",
    "client_id": "cli_789",
    "starts_at": "2026-03-03T10:00:00",
    "actor": {
      "type": "agent",
      "id": "agent_booking_bot",
      "mandate_id": "550e8400-e29b-41d4-a716-446655440000"
    }
  }
}

8つの検証チェック

エージェントの各ツール呼び出しは以下に対して検証される:

#

チェック

防止するもの

1

ステータス — マンデートは active である必要がある

失効または期限切れのマンデートの使用

2

時間的妥当性issued_at ≤ now < expires_at

時間ベースの攻撃

3

エージェントの同一性mandate.agent_id === 要求元エージェント

エージェントのなりすまし

4

スコープのカバレッジ — マンデートのスコープがツールの要件をカバーしている

権限の昇格

5

コンテキスト — マンデートのコンテキストがリクエストと一致する

データへのクロス組織アクセス

6

利益相反 — エージェントは両当事者のために行動できない

二重エージェンシー違反

7

制約 — 許可された時間帯、日次制限、金銭的しきい値

過度に自律的なエージェント

8

監査 — 各アクションはサニタイズされた入力とともに記録される

否認防止

非エージェントアクター(clientproviderorganization)はマンデート検証の対象外である。

プロバイダーの発見

エージェントはレジストリを検索し、構造化クエリを使用して患者のニーズに合うプロバイダーをマッチングできる。

レジストリを検索する

{
  "tool": "registry.search",
  "arguments": {
    "vertical": "kinesiologia",
    "location": "santiago",
    "country": "cl"
  }
}

サービスとプロバイダーが一致する組織を返す。

空き状況を照会する

{
  "tool": "scheduling.check_availability",
  "arguments": {
    "org_slug": "clinica-kinesia",
    "service_id": "srv_rehab_pelvica",
    "provider_id": "prov_111",
    "date_from": "2026-03-10",
    "date_to": "2026-03-14"
  }
}

3変数スケジューラーが、プロバイダー、クライアント、物理リソースの空き状況を同時に検証する。

エンドツーエンドの例

1. registry.search({ vertical: "kinesiologia", location: "santiago" })
   → encuentra org "clinica-kinesia"

2. services.list({ org_slug: "clinica-kinesia" })
   → lista servicios disponibles

3. scheduling.check_availability({ org_slug: "clinica-kinesia", date_from: "2026-03-10", date_to: "2026-03-14" })
   → retorna slots disponibles

4. contract.get({ service_id: "srv_123", org_id: "org_456" })
   → cancelación: 0% si >24h, 50% si 2-24h, 100% si <2h
   → evidencia requerida: check_in + check_out + registro_clinico

5. clients.get_or_create({ email: "maria@mail.com", name: "Maria", last_name: "Lopez" })
   → client_id: "cli_789"

6. scheduling.book({ service_id: "srv_123", provider_id: "prov_111", client_id: "cli_789", starts_at: "2026-03-12T10:00:00" })
   → session_id: "ses_001", estado: "solicitado"

7. scheduling.confirm({ session_id: "ses_001" })
   → estado: "confirmado"

8. delivery.checkin({ session_id: "ses_001", location: { lat: -33.45, lng: -70.66 } })
   → estado: "en_curso"

9. delivery.checkout({ session_id: "ses_001", location: { lat: -33.45, lng: -70.66 } })
   → estado: "entregado", duración: 42min

10. documentation.create({ session_id: "ses_001", content: "Sesión de rehabilitación de piso pélvico..." })
    → estado: "documentado"

11. payments.create_sale({ client_id: "cli_789", service_id: "srv_123", unit_price: 35000 })
    → sale_id: "sale_001", estado: "cobrado"

12. lifecycle.transition({ session_id: "ses_001", to_state: "verified" })
    → estado: "verificado" ✓

プロトコル仕様

Servicialo プロトコルの完全な仕様は以下で入手可能:

この仕様は、サービスの8つの次元、6+3のライフサイクル、6つの例外フロー、7つの基本原則、2つのエンティティのアーキテクチャ(原子的サービス+サービスオーダー)、委任エージェンシーモデル、DNS解決、A2A相互運用性をカバーしています。

リファレンス実装

Digitalo は、Servicialoプロトコルの最初の本番実装であり、チリの医療分野で稼働しています。プロバイダの発見から支払いの清算までの完全なライフサイクルを実装し、プロトコル進化のための検証の場として機能しています。

このMCPサーバーは、SERVICIALO_BASE_URL を通じてServicialo互換の任意のバックエンドに接続します。Digitaloはそのようなバックエンドの1つです。このプロトコルは、あらゆるCRM、HIS、またはプラットフォームが自律ノードとして実装できるように設計されています。

プロトコルへの貢献

Servicialoは、プロトコル仕様に対してセマンティックバージョニングを採用しています:

  • Patch (0.7.x) — 明確化、タイポ修正、非破壊的な追加

  • Minor (0.x.0) — 新しいオプションフィールド、新しいツール定義、新しい例外フロー

  • Major (x.0.0) — スキーマ、ステートマシン、またはコアセマンティクスへの破壊的変更

変更を提案する方法

  1. 問題と提案された解決策を説明するissueを開く

  2. 重要な変更については、影響を受けるセクション番号を添えて spec/ にRFCを書く

  3. プロトコルへの変更は、マージ前に少なくとも1つのリファレンス実装が必要

  4. スキーマへの変更には、更新されたJSON SchemaとMCPサーバー内のZod型を含める必要がある

積極的なインプットを求めている領域

  • 垂直領域固有のエビデンス要件(医療以外)

  • ライフサイクル状態名の多言語サポート

  • ノード間フェデレーション(2つのServicialo実装がどのように相互運用するか)

  • PythonおよびTypeScript向けのAgent SDKパターン

テレメトリ

起動時に、MCPサーバーは https://servicialo.com/api/telemetry/instance に匿名のPOSTを1回送信します:

{
  "event": "node_initialized",
  "version": "0.9.8",
  "node_id": "a1b2c3d4-...",
  "ts": 1711300000000
}

フィールド

説明

event

常に "node_initialized"

version

パッケージのバージョン

node_id

~/.servicialo/node_id に保存される永続的なUUID

ts

ミリ秒単位のタイムスタンプ

送信されるのはこれだけです。 組織情報、APIキー、患者データ、個人識別子は一切送信されません。IPは保存前にサーバー側でハッシュ化(SHA-256)されます。pingはfire-and-forgetです:失敗した場合、エラーは静かに破棄され、サーバーの動作をブロックすることは決してありません。

テレメトリが有効な状態で初めて実行されると、サーバーは何が送信されるか、そしてそれを無効にする方法を示す通知をstderrに出力します。

テレメトリの無効化

SERVICIALO_TELEMETRY=false npx -y @servicialo/mcp-server

またはMCP設定で:

{
  "env": {
    "SERVICIALO_TELEMETRY": "false"
  }
}

詳細: servicialo.com/network

ネットワークに参加する

@servicialo/mcp-server をインストールすると、ノードは自動的にネットワークテレメトリに登録されます。これにより、エコシステムは個人データやクライアントのデータを収集することなく、プロトコルの実際の採用状況を測定できます。

テレメトリが報告するのは以下のみです:パッケージのバージョン、永続的なノードUUID、およびIPのハッシュ(おおよその地理位置情報用 — IPは保存しません)。SERVICIALO_TELEMETRY=false でいつでも無効化できます。

起動時の通知

サーバーは2つの情報通知をstderrに書き込みます — JSON-RPCを運び、他のもので破損するstdoutには決して書き込みません:

  • RFC-005のコメント期間が開いている間。組み込みの有効期限があります:最終コメント期間の終了である2026-09-13以降は出力されなくなります。10月にインストールされたノードは、期限切れのアナウンスを見ることはありません。

  • ノードが匿名の場合、その識別方法(下記)。

どちらもプロセスごとに1回出力され、SERVICIALO_QUIET=true で抑制されます:

{
  "env": {
    "SERVICIALO_QUIET": "true"
  }
}

この変数はこれら2つの通知のみに影響します。モードバナーとテレメトリ初回実行時の通知は、従来の動作を維持します。

ノードを識別する

デフォルトではノードは匿名です:pingにはイベント、バージョン、node_id、タイムスタンプのみが含まれ、それ以外は何も含まれません。プロトコルの独自実装を運用している場合、次の3つのオプション変数がそれを識別し、検証済み実装者として申請します:

SERVICIALO_IMPL_NAME="Mi Plataforma"        # Nombre de tu implementación
SERVICIALO_IMPL_URL="https://example.com"   # Tu sitio web o repositorio
SERVICIALO_IMPL_CONTACT="admin@example.com" # Email de contacto — se hashea antes de salir

各変数でマシンから送信されるもの

変数

送信されるもの

送信されないもの

SERVICIALO_IMPL_NAME

impl_name としての平文の名前。公開情報です:検証されると /implementors に表示されます。

SERVICIALO_IMPL_URL

impl_url としての平文のURL。検証されると同じく公開されます。

SERVICIALO_IMPL_CONTACT

impl_contact_hash のみ:小文字・スペースなしのメールアドレスのSHA-256。ネットワークリクエストの前にマシン上で計算されます。

メールアドレス。ホストから出ることはなく、ログにも記録されず、保存もされず、どこにも表示されません。

変数が設定されていない場合、これらのフィールドはpingに一切表示されません。設定されていないノードは、このバージョン以前とまったく同じように動作します。

検証サイクル

anonymouspendingverified

  1. anonymous — 変数が設定されていない状態。デフォルトの状態であり、匿名ノードは完全に準拠しています。

  2. pending — 新しい impl_name が初めて出現すると、レコードは保留状態になり、チームは名前、URL、国を含む通知を受け取ります。連絡先ハッシュはその通知には含まれません。また、含めることはできません:役に立たないからです。

  3. verified — 適合性チェックリストに対する手動レビューの後、実装はそのレベルと報告されたホスト数とともに servicialo.com/implementors に表示されます。

検証は現在手動です。自動化された適合性スイートはロードマップにあります。現在の機能ではありません。

連絡先ハッシュの目的 — そして目的でないもの。 これは一方向ダイジェストです:そこから誰もあなたに連絡することはできず、設定してもニュースレターやリストに登録されることはありません。目的は逆です:あなたが自分の実装について連絡するとき、メールのハッシュが、そのpingを送信したオペレーターがあなたであることを確認します。

送信を停止する方法

MCP設定から変数を削除し(または unset SERVICIALO_IMPL_NAME SERVICIALO_IMPL_URL SERVICIALO_IMPL_CONTACT)、サーバーを再起動します。次のpingは、識別フィールドなしで再び匿名になります。すでに送信されたpingは送信された内容を保持します;既存レコードの削除をリクエストするには、リポジトリ にissueを開いてください。

隣接機能:週次スナップショット

レジストリは毎週月曜日00:00 UTCに、HMAC-SHA256で署名されたペイロードを、購読しているエンドポイントに benchmark.weekly_snapshot を発行します。これら3つの変数はそれを有効にしません。 レジストリへのエントリと、Webhooks API による明示的な購読が必要であり、プロトコルのアナウンスではなくベンチマークデータを配信します。

ライセンス

Apache-2.0 — 商用・非商用を問わず、あらゆる実装を歓迎します。LICENSE を参照してください。

Available Tools

10 tools
a2a_get_agent_cardA

Get the A2A (Agent-to-Agent) Agent Card for an organization, enabling inter-agent discovery. Use this when your agent needs to communicate with another agent managing this organization — the card declares supported capabilities, endpoints, and authentication requirements. Do NOT use for human-facing discovery (use registry.get_organization) or service listing (use services.list). Returns a JSON-LD Agent Card following the A2A v0.3 specification.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_slugYesOrganization slug (e.g. "clinica-dental-sur")

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description takes full responsibility for behavioral disclosure. It indicates the return format: 'Returns a JSON-LD Agent Card following the A2A v0.3 specification.' It also explains the content of the card: 'declares supported capabilities, endpoints, and authentication requirements.' This gives a clear picture of what the tool does and what the agent will receive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no wasted words. The first sentence states the core purpose. The second provides usage guidelines. The third details return format and exclusions. Information is front-loaded and efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one required string parameter, no output schema, no nested objects), the description covers all necessary aspects: purpose, usage alternatives, behavioral details, and return format. It is complete for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the single parameter 'org_slug', so the baseline is 3. The description does not add additional semantic information beyond the schema's example ('clinica-dental-sur'), but this is acceptable as the schema already provides sufficient detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get the A2A Agent Card for an organization, enabling inter-agent discovery.' It specifies the verb (Get), the resource (Agent Card), and the context (inter-agent discovery). It also distinguishes itself from sibling tools like registry.get_organization and services.list, which are explicitly mentioned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use: 'when your agent needs to communicate with another agent managing this organization.' It also provides explicit alternatives: 'Do NOT use for human-facing discovery (use registry.get_organization) or service listing (use services.list).' This leaves no ambiguity about the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_quickstartA

Get the complete 5-step onboarding guide as structured JSON data. Use this when helping a new organization join the Servicialo network — covers installation, signup, credentials, MCP client config, and publishing. Do NOT use for searching services (use registry.search) or checking availability (use scheduling.check_availability). Returns step-by-step instructions, config templates, and links. No parameters required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Describes what the tool returns (instructions, config templates, links) and implies a read-only operation. Lacks mention of any authentication or access requirements, but given the nature of a quickstart guide, this is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each with clear purpose: definition, usage guidance with exclusions, and output description. No wasted words, well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Fully covers the tool's purpose, when to use, what it returns, and exclusions. No missing information given the simplicity of the tool (no params, no output schema).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline is 4. Description correctly states 'No parameters required' and does not need to add parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool retrieves the 5-step onboarding guide as structured JSON data. Distinguishes from siblings by explicitly excluding use for searching or availability checks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (helping a new organization join) and when-not-to-use with alternative tool names (registry.search, scheduling.check_availability).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

registry_get_organizationA

Get the full public profile of a specific organization: services offered, providers, and booking configuration. Use this after registry.search when you have an org_slug and need detailed info before booking. Do NOT use for searching across organizations (use registry.search). Returns service catalog with prices/durations, provider list, and booking policies.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_slugYesSlug de la organización (ej: clinica-dental-sur)
countryNoPaís ISO 3166-1 alpha-2 (ej: cl, mx, ar). Default: clcl

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It implies a read operation by using 'Get' but does not explicitly state it is read-only, nor does it mention authentication, rate limits, or other behavioral traits. It does list return contents, which provides some transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no waste. The first sentence immediately states the purpose, the second provides usage context, and the third summarizes the return content. Perfectly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and only 2 simple parameters, the description adequately covers what the tool returns (service catalog, provider list, booking policies). It also provides usage context. Slight improvement could be to mention that the response is a full profile object, but it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both parameters. The description does not add any additional meaning or context about the parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets the full public profile of a specific organization, listing contents (services, providers, booking configuration). It distinguishes from sibling registry.search by explicitly saying not to use it for searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use this tool ('after registry.search when you have an org_slug and need detailed info before booking') and when not to use it ('Do NOT use for searching across organizations'), with a named alternative (registry.search).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

registry_manifestA

Get the Servicialo server manifest: protocol version, server name, and available capabilities. Use this to verify server identity and protocol compatibility before interacting with tools. Do NOT use for organization discovery (use registry.search) or service details (use services.list). Returns static metadata about this MCP server instance, not about any specific organization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must fully disclose behavior. It explains the tool returns static metadata about the server instance and not about organizations. It omits details like authentication or side effects, but for a read-only, parameterless tool, this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences are efficient and front-loaded: purpose, usage guidance, and scope clarification. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and no annotations, the description is fully complete. It clearly explains what the tool does, when to use it, and what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters and 100% coverage. The description does not need to explain parameters since there are none. The baseline of 4 is appropriate as it adds context beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the server manifest with specific fields (protocol version, server name, capabilities) and distinguishes it from sibling tools by explicitly stating what it does not do.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (verify server identity and protocol compatibility) and when not to use, providing alternative tools (registry.search, services.list) for other purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_lookupA

Resolve an organization slug to its MCP/REST endpoints and trust level — the DNS of professional services. Use this when you know the org_slug and need its API endpoint before calling any other tool. Do NOT use for searching by vertical or location (use resolve.search or registry.search instead). Returns: endpoint URLs, trust score (0-100), trust level, and last heartbeat timestamp.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_slugYesSlug de la organización (ej: clinica-dental-sur)
countryNoPaís ISO 3166-1 alpha-2 (ej: cl, mx, ar). Default: clcl

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It lists returned fields (endpoint URLs, trust score, trust level, last heartbeat timestamp), adding behavioral context. Could explicitly state read-only nature, but implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: purpose, usage guideline, return values. No fluff, front-loaded, efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description details return structure. Purpose, parameters (via schema), usage, and returns are covered. Fully adequate for a simple lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description does not add extra meaning beyond schema; it implies country is for regional endpoint but doesn't elaborate. Adequate but not improved.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool resolves an organization slug to endpoints and trust level, using a strong metaphor ('DNS of professional services'). It distinguishes itself from siblings like resolve_search and registry_search by specifying what it does vs. what it doesn't.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (when you know org_slug and need API endpoint before other tools) and when not to use (searching by vertical/location, directing to resolve.search or registry.search).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scheduling_check_availabilityA

Query available time slots for booking at an organization. No authentication required. Use this after services.list when you know the org and need to find open slots before booking. Checks 3-way availability: provider schedule AND client conflicts AND physical resource (room/equipment). Do NOT use for searching organizations (use registry.search) or listing services (use services.list). Returns available slots grouped by date, each with start time, end time, provider, and resource.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_slugYesOrganization slug (e.g. "clinica-dental-sur"). Get this from registry.search results.
service_idNoFilter by service ID. Get valid IDs from services.list. Omit to check all services.
provider_idNoFilter by provider ID. Omit to check all available providers.
resource_idNoFilter by physical resource (room, equipment). Only needed if the service requires a specific resource.
date_fromYesStart date in ISO format (e.g. "2026-03-01"). Must be today or later.
date_toYesEnd date in ISO format (e.g. "2026-03-07"). Max range: 30 days from date_from.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses no authentication required, checks 3-way availability, and describes return format. Lacks details on error handling or empty results, but sufficient for a query tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, each sentence adds value. No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters, no output schema, and no annotations, the description is quite complete: explains purpose, usage context, what it checks, and output format. Minor lack of error handling info, but overall comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but description adds extra context (e.g., 'No authentication required', 'resource_id: Only needed if the service requires a specific resource'). Adds meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Query' and resource 'available time slots for booking at an organization'. It distinguishes from siblings like registry.search and services.list by explicitly stating what not to use it for.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('after services.list when you know the org and need to find open slots before booking') and when not to use ('Do NOT use for searching organizations...'). Provides context of 3-way availability check.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

services_listA

List the public service catalog of an organization: names, prices, durations, and modalities. Use this after registry.search to see what services an organization offers before checking availability. Do NOT use for organization discovery (use registry.search) or checking time slots (use scheduling.check_availability). Returns active, publicly bookable services only — internal or draft services are excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_slugYesSlug de la organización

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses key behavioral trait: 'Returns active, publicly bookable services only — internal or draft services are excluded.' No contradictions. Lacks mention of pagination or limits, but acceptable for simple list.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey purpose, usage context, and constraints. No redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, description covers return content, constraints, and predecessor/successor tools completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (single param org_slug described in schema as 'Slug de la organización'). Description does not add new meaning beyond schema, but context of usage indirectly helps. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists public service catalog (names, prices, durations, modalities) and distinguishes from siblings by explicitly contrasting with registry.search (organization discovery) and scheduling.check_availability (time slots).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'Use this after registry.search...' and lists two cases with alternatives: 'Do NOT use for organization discovery (use registry.search) or checking time slots (use scheduling.check_availability).'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trust_get_scoreA

Get the trust score of an organization from the Servicialo resolver. Use this to evaluate reliability before booking — returns score (0-100), trust level (unverified → declared → vouched → verified), and last activity timestamp. Do NOT use this to find organizations (use resolve.search). Trust accumulates passively from verified service history; it cannot be purchased or self-declared.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_slugYesSlug de la organización (ej: clinica-dental-sur)
countryNoPaís ISO 3166-1 alpha-2. Default: clcl

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description discloses return values (score range, trust levels, timestamp) and key behavioral trait: trust accumulates passively, cannot be purchased. Lacks details on error handling or permissions but covers core behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with verb and resource, no redundant words. Every sentence serves a purpose: action, usage guidance, and behavioral insight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations or output schema, description covers purpose, return values, usage boundaries, and key behavioral constraints. Sufficient for agent to correctly select and invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with descriptions for both parameters. Description adds no new parameter-level semantics beyond context already present in schema; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'Get' and resource 'trust score', and explicitly distinguishes from sibling 'resolve.search' by saying 'Do NOT use this to find organizations (use resolve.search)'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this to evaluate reliability before booking' and provides a clear negative use case 'Do NOT use this to find organizations' with alternative. Also explains passive accumulation, guiding appropriate use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.1.1
    • Addeda2a_get_agent_card
    • Addeddocs_quickstart
    • Addedregistry_get_organization
    • Addedregistry_manifest
    • Addedregistry_search
    • Addedresolve_lookup
    • Addedresolve_search
    • Addedscheduling_check_availability
    • Addedservices_list
    • Addedtrust_get_score

TDQS

A4.1/5.0

Scored across 10 tools

Disambiguation4/5

Each tool targets a distinct function, with clear separation through 'Do NOT use' guidance. However, registry_search and resolve_search both perform discovery with different outputs, and registry_get_organization and resolve_lookup both operate on a specific org_slug but return different data, creating minor ambiguity.

Naming Consistency3/5

Names use underscores but follow mixed patterns: some are verb_noun (a2a_get_agent_card, registry_get_organization), others are noun_verb (registry_search, services_list), and some lack a verb (registry_manifest, docs_quickstart). This inconsistency could confuse agents.

Tool Count5/5

10 tools is a well-scoped set for a service discovery and scheduling platform, covering discovery, profiles, services, availability, and trust without being overwhelming.

Completeness2/5

The tool surface covers discovery and pre-booking steps but lacks any tool for actual booking (create, update, cancel). This is a significant gap as users cannot complete the core action implied by the server's purpose.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers