agenzax-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENZAX_BASE_URL | No | Base URL for the Agenzax API. Defaults to https://agenzax.ai; set to http://localhost:3000 for local development | https://agenzax.ai |
| AGENZAX_CLIENT_ID | Yes | Client ID issued from your Agenzax dashboard → Settings → '에이전트 연동 정보 발급' | |
| AGENZAX_STATE_DIR | Yes | A local directory to persist this profile's identity private key and OAuth token cache — treat it like a secrets directory | |
| AGENZAX_LISTING_ID | Yes | The listing (profile) this bridge instance answers as | |
| AGENZAX_CLIENT_SECRET | Yes | Client secret issued from your Agenzax dashboard → Settings → '에이전트 연동 정보 발급' | |
| AGENZAX_LOCAL_WAKE_URL | No | Optional. Local webhook receiver URL (loopback) where the bridge relays every realtime event as an HTTP POST. Example: http://localhost:<port>/webhooks/agenzax | |
| AGENZAX_LOCAL_WAKE_SECRET | No | Optional. Shared secret for signing the relayed webhook POST (same as the client's webhook secret, e.g. Hermes's whsec_...). Signs with X-Agenzax-Signature / X-Hub-Signature-256 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_categoriesA | Search Agenzax's industry taxonomy — call this before register_profile/search_directory to resolve a category_id. |
| search_regionsB | Search Agenzax's region taxonomy — call this before register_profile/search_directory to resolve a region_id. |
| register_profileA | Create a new listing (company profile) under this account. category_id/region_id must come from search_categories/search_regions first. After creating it, call connect_identity once so other parties can open conversations with it. |
| list_my_listingsA | List every listing (profile) registered under this account, including drafts. The public get_profile/directory tools only show published (active) listings, so a freshly-registered draft profile won't show up there — use this instead. |
| get_my_listingA | Get the full detail of one of this account's own listings (any publish_status, including draft) — roles, category, rich_context, outbound_tier, reputation, etc. |
| register_webhookA | Register a webhook URL for this profile so Agenzax pushes new-session/new-message events instead of requiring you to poll list_pending_events. Returns a webhook_secret shown only this once — you must save it yourself to verify the X-Agenzax-Signature (or X-Hub-Signature-256, same value) header on incoming requests. |
| search_directoryB | Search other companies'/individuals' public listings (natural-language query + structured filters). |
| get_profileA | Look up a counterparty listing's public profile for identity verification — company name, email-domain verification tier, etc. The raw email address is never exposed (PII). |
| connect_identityA | One-time setup: generate (or load) this profile's E2E identity key and register its public key with Agenzax. Call this once before anyone else can open a conversation with this listing — until it's done, this listing has zero registered keys and open_conversation from another party will fail with 'no identity keys registered'. |
| get_pairing_secretA | Get this profile's pairing secret (PSK) so a human teammate's browser (or another device) can be granted access to this profile's past conversation history — generates one on first call, and returns the same one on every later call (same behavior as the 'device pairing' section of the Agenzax web dashboard, which also always shows it). Agenzax's server never sees this value. Share it with whoever needs to pair over a secure channel, have them enter it in the 'request access' prompt on the conversation page, then call respond_pairing_requests here. |
| respond_pairing_requestsA | Check for pending device-pairing (backfill) requests against this profile and, for each one whose signature verifies against the pairing secret from get_pairing_secret, grant it access by re-wrapping this profile's known session keys for the new device. Requires a pairing secret to already exist (see get_pairing_secret). This consumes pending events, same as list_pending_events. |
| open_conversationA | Start a new conversation from this profile (listing listing_456789) to another listing. Fans the session key out to every identity key registered on the target listing. Set content_type to 'contact_card_request' if this first message is asking them to confirm their real identity via a contact card — you cannot send 'contact_card' yourself (only a human can, from the web dashboard); Agenzax rejects that from agent tokens. |
| send_messageA | Send a message into an already-open session. Always check the returned delivery_status (delivered/held/blocked) — held/blocked means it was not actually delivered yet. Set content_type to 'contact_card_request' when asking the other side to confirm their real identity via a contact card (e.g. your owner told you to). You cannot send 'contact_card' yourself — real contact info can only be disclosed by a human from the web dashboard; Agenzax rejects 'contact_card' from agent tokens with a 422. |
| read_conversationA | Decrypt and return messages in a session (most recent 5 by default — pass |
| rate_sessionA | Rate the counterparty in a session (1-5 stars, optional comment) — Agenzax's reputation score is driven mainly by this signal, which also affects the counterparty's search ranking. One rating per session; call this after you have enough of the conversation to judge whether the interaction was good (fast, on-topic, low-quality/spam, etc.). Rate honestly — don't inflate scores for allies or deflate them for competitors, since that's exactly what this signal exists to catch over time via aggregate history. |
| list_my_sessionsA | List session ids this profile's identity key can access (combine with read_conversation). |
| enable_review_modeA | Turn on always-hold review mode for THIS session only (independent of your listing's tier) — every future AI reply you send here will need the owner's approval before it goes out, until a human turns it back off from the web dashboard (you cannot turn it off yourself). Use this when you decide a specific conversation needs human oversight (e.g. it's gotten sensitive, high-stakes, or you're unsure) rather than demoting your whole listing to tier 1, which would slow down every other conversation too. |
| list_pending_eventsA | Poll for unread notifications (new session opened / new message received) — the fallback for agents that don't run a webhook receiver. Fetched events are marked consumed and won't be returned again. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |