protogrid

Search / dev.vetagent/vetagent

vetagent

R0· no sign-in

Pre-trade safety check for AI agents: honeypot, tax, liquidity and rug risk before you buy.

v0.2.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality88good
Trust91of 100
Uptime, 30 days89%
Latency p50953 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "vetagent": {
      "type": "http",
      "url": "https://vetagent.dev/mcp"
    }
  }
}
claude mcp add --transport http vetagent https://vetagent.dev/mcp
[mcp_servers.vetagent]
url = "https://vetagent.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vetagent": {
      "type": "remote",
      "url": "https://vetagent.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "vetagent": {
      "type": "http",
      "url": "https://vetagent.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=vetagent&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vdmV0YWdlbnQuZGV2L21jcCJ9"
}
{
  "servers": {
    "vetagent": {
      "type": "http",
      "url": "https://vetagent.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "vetagent": {
      "httpUrl": "https://vetagent.dev/mcp"
    }
  }
}
extensions:
  "vetagent":
    enabled: true
    name: "vetagent"
    type: streamable_http
    uri: "https://vetagent.dev/mcp"
    timeout: 300

Quality 88 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations3 of 3 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,206 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes3 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

3 tools, about 1,206 tokens to load them all · tool set 7c74510114fb · tools last changed 2026-10-17 · checked 2026-10-20 03:05 UTC

Tool changes

  • find_new_hot_poolschangedoutput schema
  • get_token_liquiditychangeddescription, output schema
    before

    Liquidity snapshot for a token's primary trading pair: price, 24h volume, pair count and the chains it trades on. Check 'status' before using the numbers. 'ok' means real data. 'unavailable' means the upstream request failed, which does NOT mean the token has no liquidity. 'not_found' means no trading pair exists for this address at all. 'unpriced' means pairs exist but no source has costed them, so liquidity_usd is null and the depth is unknown -- this is NOT a report of zero liquidity. 'drained' means every pool on the token's own chain reports its depth and every one is empty: there is nothing to sell into.

    after · 73% of words in common

    Liquidity snapshot for a token's primary trading pair: price, 24h volume, pair count and the chains it trades on. Check 'status' before using the numbers. 'ok' means usable upstream data, not independently verified reserves or executable sell depth. The optional liquidity_reserve_check marker says 'not_checkable' when a positive selected estimate has no computable reserve cap. A missing marker never asserts that reserves, prices or an exit trade were independently verified. 'unavailable' means the upstream request failed, which does NOT mean the token has no liquidity. 'not_found' means no trading pair exists for this address at all. 'unpriced' means pairs exist but no source has costed them, so liquidity_usd is null and the depth is unknown -- this is NOT a report of zero liquidity. 'drained' means every pool on the token's own chain reports its depth and every one is empty: there is nothing to sell into.

  • get_token_liquiditychangedoutput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 91 / 100

provenance85
liveness95
freshness85
hygiene100

+repository +dns-namespace +website +reachable +uptime-89% ~updated-46d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://vetagent.dev/mcp streamable-httpnoneyes89%953 ms2025-06-182026-10-19

Tools (3)

assess_token_riskread-onlySafety check to run BEFORE buying, holding, or recommending a token. Returns an actionable verdict (low / medium / high / unknown), a 0-100 risk score, and the individual signals behind it. Covers on every chain: liquidity depth, trading-pair age, cross-chain presence, same-ticker impersonation. Covers on Ethereum, BSC and Base only: sell simulation (honeypot detection, buy/sell/transfer taxes), whether the contract is open source, and the aggregate verdicts of upstream security scanners. Covers on Solana: the mint/freeze authority, the RugCheck score, and the SPL Token-2022 extension block -- non-transferable, frozen-by-default, transfer fee (with its cap), permanent delegate, transfer hook, pausable, close authority, scaled balances and interest-bearing balances. Every other extension the report carries is named in the answer with the reason it is not scored, so silence about one means it was considered, not that it went unread. No sell simulation runs on Solana, nor on the four other EVM chains accepted as a chain_hint (polygon, arbitrum, optimism, avalanche): nothing there tests whether a holder can sell, so the answer comes back 'unknown' rather than 'low'. No holder concentration on any chain -- on EVM it needs an oracle the benchmark holds out, and on Solana the upstream omits holders. IMPORTANT: risk_level 'unknown' means a critical check could not be completed. It is NOT a low-risk result and must not be used to justify a trade; evidence.data_gaps lists exactly what was missing, and unknown_kind says whose gap it is: 'infrastructure' and 'mixed' mean an upstream of ours failed and come with next_action 'retry' and retry_after_seconds (in a 'mixed' answer the rest was worked out without that upstream, so the retry can change any of it); 'coverage' comes with 'abstain'. 'confidence' measures how complete the input data was, not how safe the token is. Reports observable on-chain risk only. Not financial advice, does not size positions, and cannot see off-chain risk such as team behaviour, social engineering, or a rug executed through governance. Treat 'low' as 'no fatal signal found in the checks that ran', never as 'safe to buy'.
find_new_hot_poolsread-onlyScan a chain for the newest and most active trading pools, returning name, token_address, price, liquidity, 24h volume and pool age. Discovery only. New pools carry inherently high risk and appearing here is NOT a safety endorsement — pass token_address straight to assess_token_risk for anything you intend to act on.
get_token_liquidityread-onlyLiquidity snapshot for a token's primary trading pair: price, 24h volume, pair count and the chains it trades on. Check 'status' before using the numbers. 'ok' means usable upstream data, not independently verified reserves or executable sell depth. The optional liquidity_reserve_check marker says 'not_checkable' when a positive selected estimate has no computable reserve cap. A missing marker never asserts that reserves, prices or an exit trade were independently verified. 'unavailable' means the upstream request failed, which does NOT mean the token has no liquidity. 'not_found' means no trading pair exists for this address at all. 'unpriced' means pairs exist but no source has costed them, so liquidity_usd is null and the depth is unknown -- this is NOT a report of zero liquidity. 'drained' means every pool on the token's own chain reports its depth and every one is empty: there is nothing to sell into.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "dev.vetagent/vetagent",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://vetagent.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.2.0",
  "repository": {
    "url": "https://github.com/jakegu1/vetagent",
    "source": "github"
  },
  "websiteUrl": "https://vetagent.dev",
  "description": "Pre-trade safety check for AI agents: honeypot, tax, liquidity and rug risk before you buy."
}