inbin

Query Inbin's parsed email events (newsletters, invoices, alerts) as typed JSON tools.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
98%
命名品質
84%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,479Token(工具定義)
~1.0 KB典型回應大小
中等的注意力影響(128k 上下文的 1.16%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "inbin": {
      "command": "npx",
      "args": [
        "@inbin/mcp"
      ]
    }
  }
}

可執行的套件

npm@inbin/mcp0.2.0stdio

遠端端點

https://inbin.dev/api/mcpstreamable-http
https://api.inbin.dev/mcpstreamable-http

它能做什麼

工具清單

工具(5)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟡create_trial_inbox(purpose_label)

Create a temporary inbox with NO Inbin account required at all -- usable before the human has signed up for anything. Returns the inbox address IMMEDIATELY; it does not wait for anything. Use the address to sign up wherever you need a confirmation sent, THEN call await_trial_inbox with that same address to block for the confirmation -- calling this alone does not get you a confirmation. This inbox is NOT tied to any account yet and expires automatically within about two weeks regardless of use. If the human wants to keep using this SAME address permanently, call claim_trial_inbox: no dashboard visit, no key to copy, and more than one agent can independently connect to the same address over time this way.

輸入結構描述

{
  "type": "object",
  "properties": {
    "purpose_label": {
      "type": "string",
      "description": "Optional human-readable label for what this inbox is for."
    }
  },
  "additionalProperties": false
}
🟢await_trial_inbox(inbox_address, expected_sender, ttl_seconds)

Block (up to ttl_seconds, max 60) for the one confirmation email on a trial inbox created by create_trial_inbox. Pass the exact inbox_address that call returned. On a match the inbox self-deletes immediately. Call this AFTER you have actually used the address somewhere (signed up, requested a code) -- calling it before that will just expire, since there is nothing to wait for yet. 60 seconds is a hard per-call ceiling, not the inbox's total lifetime: a sender that takes longer than that is not a failure, just call this again with the same inbox_address to keep waiting (the inbox stays valid for its full ~2-week expiry). Only treat expired as final once you've retried a few times.

輸入結構描述

{
  "type": "object",
  "properties": {
    "inbox_address": {
      "type": "string",
      "description": "The exact address create_trial_inbox returned, e.g. [email protected]."
    },
    "expected_sender": {
      "type": "string",
      "description": "Glob on the sender address, e.g. *@vercel.com."
    },
    "ttl_seconds": {
      "type": "integer",
      "minimum": 1,
      "maximum": 60,
      "default": 45,
      "description": "How long to block waiting for the confirmation, in seconds (max 60). Returns expired if nothing arrives in time."
    }
  },
  "required": [
    "inbox_address"
  ],
  "additionalProperties": false
}
⚪claim_trial_inbox(inbox_address, connector_label)

Start connecting an agent to this inbox address, permanently -- the SAME address. Works whether this is a brand-new trial inbox OR one that's already been claimed by a different agent before: more than one agent can independently connect to the same inbox, each getting its own separate, revocable connection. Returns a claim_url immediately -- share it in chat right away. The human clicks it, enters their email, enters the one-time code Inbin sends there, and a credential is ISSUED. That is NOT the same as the connection working yet -- the human still has to install that credential into an MCP client's config before anything can actually use it, and you will never see the credential itself, by design. Call await_trial_inbox_claim afterward to see the human finish the email+code step, then claim_connection_status (repeatedly, possibly much later -- installing a client is not instant) to see whether a client has actually started using it. The inbox must still exist (not yet expired) for this to work; it does not need to still be a TRIAL inbox specifically.

輸入結構描述

{
  "type": "object",
  "properties": {
    "inbox_address": {
      "type": "string",
      "description": "The exact inbox address to connect to, e.g. [email protected]."
    },
    "connector_label": {
      "type": "string",
      "description": "Optional label identifying which agent/client is connecting, e.g. 'Muse'. Shown to the human as the name of this specific connection so they can tell multiple connections apart later."
    }
  },
  "required": [
    "inbox_address"
  ],
  "additionalProperties": false
}
🟢await_trial_inbox_claim(claim_token, ttl_seconds)

Block (up to ttl_seconds, max 60) for a human to finish the EMAIL+CODE step on the claim_url page from claim_trial_inbox. This NEVER returns a credential, at any status. It returns one of three honest states, not a single 'connected': "claim_pending" (nobody has entered the code yet -- keep waiting or call again), "claimed" (the human proved ownership and a credential was ISSUED, but nothing has used it yet -- a client still needs to be installed with the config from the claim page's 'Advanced' section before anything works), or "client_installed" (some client has actually authenticated with the connection at least once -- a real, observed signal, not an assumption). Each response includes a next_action field telling you exactly what to say or do -- follow it literally rather than guessing. "claimed" is NOT success: do not tell the human it's working until you see "client_installed", and even then, verify it yourself (call list_inboxes or similar through the new connection and read the actual result) before claiming it works for you specifically -- call claim_connection_status later if you need to check again after this chat session, since installing a client can take arbitrarily long and this tool only blocks up to 60s.

輸入結構描述

{
  "type": "object",
  "properties": {
    "claim_token": {
      "type": "string",
      "description": "The token from claim_trial_inbox's claim_url (the part after /claim/)."
    },
    "ttl_seconds": {
      "type": "integer",
      "minimum": 1,
      "maximum": 60,
      "default": 45,
      "description": "How long to block waiting, in seconds (max 60). Returns pending if the human hasn't finished yet."
    }
  },
  "required": [
    "claim_token"
  ],
  "additionalProperties": false
}
🟢claim_connection_status(claim_token)

Read-only, non-blocking check of exactly which state a claim_trial_inbox connection is in RIGHT NOW: "claim_pending", "claimed" (credential issued, unused), or "client_installed" (a client has actually authenticated with it at least once -- real, observed). Never returns a credential. Use this instead of await_trial_inbox_claim when you want to check progress WITHOUT blocking, especially much later than the original chat session -- installing a client into its own config is a human action with no fixed timeline, so polling this occasionally (not in a tight loop) is the right way to check back. Each response includes a next_action field telling you exactly what to say or do.

輸入結構描述

{
  "type": "object",
  "properties": {
    "claim_token": {
      "type": "string",
      "description": "The token from claim_trial_inbox's claim_url (the part after /claim/)."
    }
  },
  "required": [
    "claim_token"
  ],
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具
需要驗證未記錄版本—
需要驗證未記錄版本—
需要驗證未記錄版本—
需要驗證未記錄版本—