ORDan

io.github.joshluberisse由 GitHub 帳號 joshluberisse 發布v0.1.4更新於 Nov 7, 2026

ORDan's MCP server: calls, SMS and phone numbers for AI agents, under their owner's spend controls

已驗證Streamable HTTP可網頁執行金融溝通與協作

概覽

AI 產生的概覽

ORDan 讓 AI 代理擁有自己的電話線路:在所有者的消費管控下撥打電話、接聽來電、收發簡訊並購買號碼。

可以做什麼
  • 註冊代理並查詢所有者是否已核准
  • 開通、列出、重新命名、設定消費上限或釋放電話線路與號碼
  • 撥出、查詢、接聽、轉接、掛斷通話,按鍵操作電話選單,並開始或停止錄音
  • 傳送與讀取簡訊,包括與某個號碼的完整對話
  • 檢查政策、授權、完成或取消購買,並查看本月消費與事件帳本
適用情境
適用於需要以具備電話能力的代理身分行動的助理:撥出電話、接聽來電、傳簡訊或購買號碼,同時由所有者核准敏感操作並設定消費上限。
執行需求
可使用遠端端點,或以 npx 執行 npm 套件;需要 OAuth 配對,也可改用 ORDAN_AGENT_TOKEN 中的代理憑證。可選設定 ORDAN_API_URL、ORDAN_CONFIG_DIR 與 ORDAN_PROFILE。其他工具需所有者核准後才能使用。
安裝前請注意
代理可能花掉所有者的錢:線路有每月上限,購買依政策授權(預設每筆最高 50 美元),超出需所有者核准。通話、簡訊、轉接與購買都會經過政策檢查,可能需要審批。錄音需要 calls.record 權限,錄音歸所有者所有。標記為敏感的按鍵內容在所有者的帳本中會被遮蔽。憑證由執行環境保存,ORDAN_AGENT_TOKEN 屬於機密。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ORDan,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.joshluberisse%2Fordan/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "ordan": {
      "type": "http",
      "url": "https://mcp.ordan.io/mcp"
    }
  }
}

README

該儲存庫沒有 README。

工具

25

ordan.agent.create

Pair with your owner

Register a persistent agent principal. Asks your owner to approve you on ORDan: returns a pairing URL and code for the human. Once approved, this runtime holds your credential (you never see it) and the other ordan.* tools work.

輸入參數name必填capabilitiesmonthly_limit_cents

ordan.agent.status

Connection status

Whether your owner has approved you yet, and what you may do.

無需輸入參數。

ordan.line.provision

Get a new Line

Provision a phone identity for an agent: a new Line with its own number, bound to you.

輸入參數namecountryapprovalarea_codeidempotency_key

ordan.line.list

List your Lines

List your Lines, with each one's spend this month.

無需輸入參數。

ordan.line.update

Update a Line

Rename a Line, or set its monthly spend ceiling in cents (spend ceilings are an owner/key decision — an agent credential can only rename).

輸入參數line必填namespend_limit_cents

ordan.line.release

Release a Line

Release one of your Lines and its number (requires numbers.release).

輸入參數line必填

ordan.number.list

List your numbers

List your numbers, each with the Line it is attached to: those on your Lines, and any you bought that are not on a Line (requires numbers.provision or numbers.release). Use it to find a number that was bought but not attached to a Line.

無需輸入參數。

ordan.number.release

Release a number

Release a number you bought that is not in use on a Line back to the carrier (requires numbers.release). A number on a Line goes with its Line: use ordan.line.release.

輸入參數number必填

ordan.call.create

Place a call

Place a policy-checked outbound call. If you have one Line it is used; with several, pass `line`. If policy needs a human, the error carries details.approval_request (apr_…): retry with `approval` set to it once your owner approves.

輸入參數to必填linepurposeapprovalcategoryobjectiveidempotency_keymax_duration_seconds

ordan.call.status

Call status

Poll live call state.

輸入參數call必填

ordan.call.transfer

Transfer a call

Hand off to a human, mid-call: transfer an in-progress call (policy-checked). If the destination needs your owner's approval, the error carries details.approval_request (apr_…): retry with `approval` once they approve.

輸入參數to必填call必填purposeapprovalcategoryidempotency_key

ordan.call.list

List your calls

List your recent calls. status=ringing shows inbound calls waiting to be answered.

輸入參數linestatus

ordan.call.answer

Answer a call

Answer a ringing inbound call routed to you (decline with ordan.call.hangup).

輸入參數call必填

ordan.call.hangup

Hang up

Hang up a call.

輸入參數call必填

ordan.call.dtmf

Press keys on a call

Navigate a phone menu: press keys (DTMF) on a connected call you hold, e.g. "1" or "2w123#" (w = half-second pause). Set sensitive for PINs or account numbers: your owner's ledger shows them masked.

輸入參數call必填digits必填sensitive

ordan.call.record

Record a call

Start or stop recording a connected call (requires calls.record). Recordings belong to your owner: you see that one exists, not its audio.

輸入參數call必填action必填

ordan.call.report

Report a call's outcome

Report what happened on a call you made or answered: its transcript and/or its structured outcome (e.g. outcome: appointment_rescheduled, fields: { date, time }). Each is recorded once, in your ledger; ORDan adds the call's measured duration.

輸入參數call必填fieldsoutcomesummarytranscript

ordan.sms.send

Send an SMS

Send a message from the agent's line. With several Lines, pass `line`. Approval works as for ordan.call.create.

輸入參數to必填body必填linepurposeapprovalcategorysmart_encodingidempotency_key

ordan.sms.read

Read your messages

Read your messages: replies and what you sent. Pass `with` for the whole conversation with one number.

輸入參數withdirection

ordan.policy.check

Check an action against policy

Evaluate an action before execution: would policy allow it right now? The action is the capability it uses: voice.outbound (a call), sms.send (a text), calls.transfer (a hand-off) or purchases (a purchase: pass merchant and amount_cents).

輸入參數tobodycalllineaction必填purposecategorymerchantamount_centssmart_encoding

ordan.purchase.authorize

Authorize a purchase

Ask before you buy: authorize a purchase on your owner's behalf (requires purchases). Within policy (by default up to $50 each) it is authorized at once; above it your owner approves first (retry with `approval`). ORDan never sees card data: pay the merchant yourself, then call ordan.purchase.complete with what was charged.

輸入參數purposeapprovalcategorymerchant必填description必填amount_cents必填

ordan.purchase.complete

Complete a purchase

Record that you made an authorized purchase: what was actually charged (never more than authorized) and the merchant's confirmation number.

輸入參數receiptpurchase必填amount_cents必填

ordan.purchase.cancel

Cancel a purchase

Give back an authorization you will not use.

輸入參數purchase必填

ordan.usage.get

Usage this month

Read spend against limits for this month.

無需輸入參數。

ordan.ledger.read

Read your ledger

Read the agent's event history: what happened (calls, texts, approvals) and what it cost.

輸入參數limitsincetypes

版本歷史

3
  1. v0.1.4最新Nov 6, 2026
  2. v0.1.3Nov 5, 2026
  3. v0.1.2Nov 3, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。