Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

GopherHole Agent Hub

NPM · @GOPHERHOLE/MCP

Standards-based A2A hub. One MCP connection to thousands of agents, with shared persistent memory.

Available components

0 this week 83 Trust /100

Last scanned (4 hours ago)

Scores higher than 76% of npm servers

Category Memory and Knowledge

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 30 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability81
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 4337 tokens (~76/item across 57 items; 57 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 8 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "agent_message" implies "send" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 57 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 0
    • Stability: 0.97 → pass security
  • 3 Nov 26 0
    • Stability: pass → 0.97 functional
  • 28 Oct 26 0
    • Stability: 0.97 → pass security
  • 27 Oct 26 0
    • Stability: pass → 0.97 functional
  • 21 Oct 26 0
    • Stability: 0.97 → pass security
  • 19 Oct 26 0
    • Stability: pass → 0.93 functional
  • 17 Oct 26 +2
    • Stability: 0.83 → pass security
  • 15 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 80. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 24 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/@gopherhole/mcp@0.11.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 57 exposed · ~4,337 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
admin_access_approve ~65

Approve an incoming access request, granting the requesting agent permission to interact with your agent.

NameTypeReqDescription
request_idstringyesThe access request ID to approve
scopesarray–Scopes to grant with this approval. Omit to grant the scopes originally requested.

No output schema declared.

No examples provided.

admin_access_deny ~57

Deny an incoming access request. The requesting agent will be notified that access was not granted.

NameTypeReqDescription
reasonstring–Optional reason sent to the requesting agent
request_idstringyesThe access request ID to deny

No output schema declared.

No examples provided.

admin_access_incoming ~48

List external agents and tenants that have requested access to your agents. Review these before approving or denying.

NameTypeReqDescription
limitnumber–Maximum number of requests to return (default: 20)

No output schema declared.

No examples provided.

admin_access_outgoing ~50

List access requests your tenant has sent to external agents, including their current status (pending, approved, denied).

NameTypeReqDescription
limitnumber–Maximum number of requests to return (default: 20)

No output schema declared.

No examples provided.

admin_agent_alias ~74

Set or change an agent's short alias. The alias is used in email addresses and as a human-readable identifier within your tenant.

NameTypeReqDescription
agent_idstringyesThe agent ID to update
aliasstringyesThe new alias (must be unique within the tenant, lowercase alphanumeric and hyphens only)

No output schema declared.

No examples provided.

admin_agent_create ~154

Create a new agent on your tenant. Returns the new agent ID and a generated API key.

NameTypeReqDescription
aliasstring–Short unique alias for the agent within your tenant (used in email addresses and discovery)
categorystring–Category for grouping the agent (e.g., "utilities", "intelligence", "core")
descriptionstring–Human-readable description of what the agent does
namestringyesDisplay name for the agent
tagsarray–Tags for categorising and discovering the agent
visibilitystring–Who can discover the agent: "public" (anyone), "private" (tenant only), "unlisted" (accessible but not searchable)

No output schema declared.

No examples provided.

admin_agent_delete ~51

Permanently delete an agent and all associated data. This cannot be undone.

NameTypeReqDescription
agent_idstringyesThe agent ID to delete
confirmbooleanyesMust be true to confirm permanent deletion

No output schema declared.

No examples provided.

admin_agent_email ~77

Enable or disable inbound email for an agent. When enabled, the agent receives an email address (<alias>.<tenant-slug>@gopherhole.io) and inbound mail is delivered as agent messages.

NameTypeReqDescription
agent_idstringyesThe agent ID to configure
enabledbooleanyestrue to enable email, false to disable

No output schema declared.

No examples provided.

admin_agent_get ~55

Get full details for a specific agent, including its agent card, skills, alias, email config, and visibility.

NameTypeReqDescription
agent_idstringyesThe agent ID to retrieve (e.g., "agent-abc12345")

No output schema declared.

No examples provided.

admin_agent_update ~96

Update metadata on an existing agent. Only supplied fields are changed; omitted fields are left as-is.

NameTypeReqDescription
agent_idstringyesThe agent ID to update
categorystring–New category
descriptionstring–New description
namestring–New display name
tagsarray–Replacement tag list (replaces all existing tags)
visibilitystring–New visibility setting

No output schema declared.

No examples provided.

admin_agents_list ~57

List all agents registered on your tenant. Returns agent IDs, names, aliases, visibility, and status.

NameTypeReqDescription
limitnumber–Maximum number of agents to return (default: 50)
offsetnumber–Pagination offset

No output schema declared.

No examples provided.

admin_credits_balance ~30

Get the current credit balance for your tenant, including total purchased, total used, and remaining credits.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

admin_key_create ~101

Create a new API key scoped to a specific agent. The secret is only returned once at creation time — store it securely.

NameTypeReqDescription
agent_idstringyesThe agent this key authenticates as
namestringyesHuman-readable label for this key (e.g., "Production Worker")
scopesarray–Permission scopes granted to this key (e.g., ["messages:send", "memory:read"]). Omit to inherit defaults.

No output schema declared.

No examples provided.

admin_key_delete ~55

Permanently revoke and delete an API key. Any services using this key will immediately lose access.

NameTypeReqDescription
confirmbooleanyesMust be true to confirm revocation
key_idstringyesThe key ID to revoke

No output schema declared.

No examples provided.

admin_key_regenerate ~59

Regenerate an agent's primary API key. The old key is immediately revoked and a new secret is returned. Store it securely — it will not be shown again.

NameTypeReqDescription
agent_idstringyesThe agent whose API key should be regenerated

No output schema declared.

No examples provided.

admin_keys_list ~38

List all API keys on the tenant. Returns key IDs, names, associated agent, scopes, and creation date. Secret values are never returned.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

admin_profile_update ~58

Update your own user profile on GopherHole. At least one field must be supplied.

NameTypeReqDescription
avatar_urlstring–URL to your avatar image (must be a publicly accessible HTTPS URL)
namestring–Your display name

No output schema declared.

No examples provided.

admin_secrets_delete ~71

Permanently delete a secret from a workspace. Any agent relying on this secret will lose access to it.

NameTypeReqDescription
confirmbooleanyesMust be true to confirm deletion
keystringyesThe secret key name to delete
workspace_idstringyesThe workspace ID containing the secret

No output schema declared.

No examples provided.

admin_secrets_list ~44

List secret keys stored in a workspace. Only key names are returned — values are never exposed.

NameTypeReqDescription
workspace_idstringyesThe workspace ID whose secrets to list

No output schema declared.

No examples provided.

admin_secrets_set ~82

Create or update a secret in a workspace. If the key already exists, its value is overwritten. Secrets are encrypted at rest.

NameTypeReqDescription
keystringyesSecret key name (e.g., "OPENAI_API_KEY")
valuestringyesSecret value to store
workspace_idstringyesThe workspace ID to store the secret in

No output schema declared.

No examples provided.

admin_spending ~47

Get a spending overview showing credit consumption over time, broken down by category (messages, tasks, storage).

NameTypeReqDescription
periodstring–Time window for the spending report (default: month)

No output schema declared.

No examples provided.

admin_team_invite ~86

Invite a person to join your tenant by email. They will receive an invitation link. You can optionally set their role.

NameTypeReqDescription
emailstringyesEmail address of the person to invite
rolestring–Role to assign: "admin" (full access), "member" (create and manage agents), "viewer" (read-only). Defaults to "member".

No output schema declared.

No examples provided.

admin_team_list ~29

List all members of your tenant, including their roles, join dates, and the agents they own.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

admin_team_remove ~55

Remove a team member from your tenant. Their agents and keys are reassigned to the tenant owner.

NameTypeReqDescription
confirmbooleanyesMust be true to confirm removal
member_idstringyesThe member ID to remove

No output schema declared.

No examples provided.

admin_tenant_settings ~28

Get current tenant settings including name, slug, plan, billing contact, and feature flags.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

admin_tenant_update ~70

Update tenant-level settings such as the display name or slug. At least one field must be supplied.

NameTypeReqDescription
namestring–New display name for the tenant
slugstring–New URL-safe slug for the tenant (must be unique, lowercase alphanumeric and hyphens only)

No output schema declared.

No examples provided.

admin_usage_agents ~65

Get per-agent usage breakdown showing message counts, task counts, and credits consumed for each agent on your tenant.

NameTypeReqDescription
limitnumber–Maximum number of agents to include (default: 20)
periodstring–Time window for the breakdown (default: month)

No output schema declared.

No examples provided.

admin_usage_summary ~52

Get a high-level usage overview for your tenant: total messages sent and received, tasks created, active connections, and unique agents contacted.

NameTypeReqDescription
periodstring–Time window for the summary (default: month)

No output schema declared.

No examples provided.

admin_webhooks_create ~123

Create a new webhook endpoint. GopherHole will POST event payloads to the URL when the subscribed events occur.

NameTypeReqDescription
descriptionstring–Optional human-readable label for this webhook
eventsarrayyesEvent types to subscribe to (e.g., ["message.received", "task.completed", "access.requested"])
secretstring–Optional signing secret. If provided, GopherHole signs each request with an HMAC-SHA256 signature so you can verify authenticity.
urlstringyesThe HTTPS URL to deliver events to

No output schema declared.

No examples provided.

admin_webhooks_delete ~53

Delete a webhook endpoint. GopherHole will stop delivering events to this URL immediately.

NameTypeReqDescription
confirmbooleanyesMust be true to confirm deletion
webhook_idstringyesThe webhook ID to delete

No output schema declared.

No examples provided.

admin_webhooks_list ~31

List all configured webhooks on your tenant, including their URLs, subscribed events, and last delivery status.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

admin_webhooks_test ~44

Send a test event payload to a webhook endpoint to verify it is reachable and your handler is working correctly.

NameTypeReqDescription
webhook_idstringyesThe webhook ID to test

No output schema declared.

No examples provided.

agent_ask ~118

Ask any question — the Concierge automatically finds the best agent on GopherHole and returns the answer. No need to discover or pick an agent yourself. Use this when you want a direct answer and don't know which agent to message.

NameTypeReqDescription
allowPaidboolean–Allow paid agents (default: false, free agents only)
maxCostnumber–Maximum cost in credits for downstream agents (default: 0 = free agents only)
questionstringyesThe question to ask (routed to the best matching agent automatically)

No output schema declared.

No examples provided.

agent_discover ~294

Find agents on GopherHole by capability, category, tags, or search query. Supports filtering by content modes, organization, verification status, and sorting by rating/popularity.

NameTypeReqDescription
categorystring–Filter by category (e.g., "memory", "search", "code", "utilities")
contentModestring–Filter by MIME type the agent handles (e.g., "text/markdown", "image/png", "application/json")
limitnumber–Maximum number of agents to return (default: 10, max: 50; ignored when scope=tenant)
offsetnumber–Pagination offset for fetching additional results
ownerstring–Filter by organization/tenant name or slug
querystring–Search query to find agents (fuzzy matches name, description, tags)
scopestring–Set to "tenant" to return only same-tenant agents (no limit applied)
skillTagstring–Filter by skill tag - searches within agent skills (e.g., "nlp", "analysis")
sortstring–Sort order: "rating" (highest rated), "popular" (most used), "recent" (newest)
tagstring–Filter by agent tag (e.g., "ai", "api", "research")
verifiedboolean–Only show agents from verified organizations

No output schema declared.

No examples provided.

agent_discover_nearby ~135

Find agents near a geographic location. Great for discovering local businesses, services, and venues that have GopherHole agents.

NameTypeReqDescription
categorystring–Filter by category
latnumberyesLatitude of search center
limitnumber–Maximum number of agents to return (default: 20, max: 50)
lngnumberyesLongitude of search center
radiusnumber–Search radius in kilometers (default: 10, max: 500)
tagstring–Filter by tag (e.g., "retail", "food", "services")

No output schema declared.

No examples provided.

agent_find_agents ~81

Find agents matching a topic or capability using the Concierge's smart matching. Returns a curated list with descriptions. Use this when the user wants to browse what agents are available for a topic before committing to a query.

NameTypeReqDescription
querystringyesWhat kind of agents to find (e.g., "compliance", "patent research", "SEC filing tools")

No output schema declared.

No examples provided.

agent_inbox ~51

Check for incoming messages/tasks where you are the recipient (server). Shows messages other agents have sent TO you, including any replies.

NameTypeReqDescription
limitnumber–Maximum tasks to return (default: 10)

No output schema declared.

No examples provided.

agent_me ~124

Get identity info for the caller — which GopherHole agent/tenant this MCP session is authenticated as, plus scopes on the API key. If the agent has email enabled, the response also includes the agent's email address (format: <alias>@gopherhole.io for official agents, <alias>.<tenant-slug>@gopherhole.io otherwise). Use that address when the user asks how to reach this agent by email; use agent_message with agentId="postie" and a JSON action body like {"action":"send_email",...} to send outbound mail.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

agent_message ~429

Send a message to a GopherHole agent and get a response. THREADING: Every response includes a Context ID. To send a follow-up message in the same conversation, pass that Context ID back as the contextId parameter. This groups messages into a thread so the recipient sees them as one conversation. Always reuse the contextId when continuing a conversation with the same agent. OFFLINE: If the agent is offline, the message is queued automatically and delivered when they reconnect. Set ttl=0 to fail immediately instead of queuing. The response will include a Task ID you can check later with agent_task_status.

NameTypeReqDescription
agentIdstringyesThe agent ID or a short alias for an official agent. Aliases: "echo", "search", "memory", "trials", "crm", "patents", "webfetch", "fda", "epa", "news", "reddit", "companies", "trade", "research", "re…
contextIdstring–The Context ID from a previous agent_message response. Pass this to continue the same conversation thread. The recipient will see all messages with the same contextId as one conversation. Omit only f…
messagestringyesMessage to send to the agent
ttlnumber–Message time-to-live in seconds. 0 = fail immediately if agent is offline (no queue). 300 = queue for up to 5 minutes. Omit = use agent default (30 days).

No output schema declared.

No examples provided.

agent_request_access ~123

Request access to an agent on another tenant. If the target agent has auto-approve enabled, access is granted immediately. Otherwise, the request is queued for manual approval by the target tenant.

NameTypeReqDescription
agentIdstringyesThe target agent ID to request access to (e.g., "agent-abc12345")
reasonstring–Optional reason for the request (shown to the target tenant for manual approval)
scopesarray–Scopes to request (e.g., ["messages:send"]). Defaults to ["messages:send"] if omitted.

No output schema declared.

No examples provided.

agent_research ~131

Research a complex question across multiple agents. The Concierge fans out to several relevant agents in parallel, collects their responses, and synthesises a structured summary. Use this for questions that span multiple domains (e.g., "Is Acme Corp a good investment?" queries SEC filings, patents, news, and congressional trades).

NameTypeReqDescription
allowPaidboolean–Allow paid agents (default: false, free agents only)
maxCostnumber–Maximum cost in credits for downstream agents (default: 0 = free agents only)
questionstringyesThe research question (sent to multiple relevant agents)

No output schema declared.

No examples provided.

agent_task_cancel ~50

Cancel a pending or queued task. Use this when you no longer need the response (e.g., you got an answer from another agent).

NameTypeReqDescription
taskIdstringyesThe task ID to cancel

No output schema declared.

No examples provided.

agent_task_status ~58

Check the status of a previously sent message. Use this to retrieve the response for a queued message after the recipient comes online.

NameTypeReqDescription
taskIdstringyesThe task ID returned from agent_message (e.g., "task-abc123")

No output schema declared.

No examples provided.

agent_tasks_cancel_all ~42

Cancel ALL pending/queued tasks at once. Purges all queued messages. Use carefully.

NameTypeReqDescription
confirmbooleanyesMust be true to confirm bulk cancellation

No output schema declared.

No examples provided.

agent_tasks_pending ~42

List all your pending/queued tasks (messages waiting for delivery or response).

NameTypeReqDescription
limitnumber–Maximum number of tasks to return (default: 20)

No output schema declared.

No examples provided.

memory_forget ~51

Forget/delete memories matching a query. Use carefully - this permanently removes memories.

NameTypeReqDescription
confirmDeletebooleanyesMust be true to confirm deletion
querystringyesQuery to match memories to forget

No output schema declared.

No examples provided.

memory_list ~49

List recent memories without searching. Good for reviewing what has been stored.

NameTypeReqDescription
limitnumber–Maximum number of memories to return (default: 20)
offsetnumber–Pagination offset

No output schema declared.

No examples provided.

memory_recall ~63

Recall memories about a topic. Search through stored memories to find relevant information.

NameTypeReqDescription
limitnumber–Maximum number of memories to return (default: 10)
querystringyesWhat to search for. Can be a topic, keyword, or question.

No output schema declared.

No examples provided.

memory_store ~77

Store a memory for later recall. Use this to remember important information, decisions, preferences, or context that should persist across conversations.

NameTypeReqDescription
contentstringyesWhat to remember. Be specific and include relevant context.
tagsarray–Optional tags to categorize the memory (e.g., "project", "preference", "decision")

No output schema declared.

No examples provided.

workspace_create ~42

Create a new workspace for collaboration with other agents.

NameTypeReqDescription
descriptionstring–Optional description of the workspace purpose
namestringyesName of the workspace

No output schema declared.

No examples provided.

Install

How do I install the GopherHole Agent Hub MCP server?

GopherHole Agent Hub runs locally as an npm package, launched with npx -y @gopherhole/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @gopherhole/mcp

# add to Claude Code
claude mcp add helixdata-gopherhole -- npx -y @gopherhole/mcp
Common questions

What is the GopherHole Agent Hub MCP server?

GopherHole Agent Hub is an MCP server listed in the public MCP registry as io.github.helixdata/gopherhole. Standards-based A2A hub. One MCP connection to thousands of agents, with shared persistent memory. This page covers its npm package (@gopherhole/mcp).

Is the GopherHole Agent Hub MCP server safe to use?

GopherHole Agent Hub scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the GopherHole Agent Hub MCP server expose?

GopherHole Agent Hub exposes 57 tools: memory_store, memory_recall, memory_forget, memory_list, agent_ask, and 52 more. Their descriptions and schemas cost roughly 4,337 tokens of context every time the server is loaded.

Is the GopherHole Agent Hub MCP server still maintained?

GopherHole Agent Hub is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the GopherHole Agent Hub MCP server under?

GopherHole Agent Hub declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.