← Back to search
io.github.nansen-ai/nansen-mcp

Nansen

Blockchain analytics API for AI agents. Smart Money signals, wallet profiling, token analytics.

Status
Healthy
Score
75.5
Transport
streamable-http
Tools
35

Production readiness

Verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Critical alerts
0
Production verdicts degrade quickly when critical alerts are active.

Evidence confidence

Confidence score
65.0
Based on 20 recent validations, 26 captured checks, and validation age of 605.1 hours.
Live checks captured
26
More direct checks increase trust in the current verdict.
Validation age
605.1h
Lower age means fresher evidence.

Recommended for

Claude Desktop
Claude Desktop is marked compatible with score 100.
Smithery
Smithery is marked compatible with score 80.
Generic Streamable HTTP
Generic Streamable HTTP is marked compatible with score 100.

Client readiness verdicts

Ready for ChatGPT custom connector
Partial
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
  • initializeOK
  • tools_listOK
  • transport_compliance_probeWarning
  • step_up_auth_probeMissing
  • connector_replay_probeOK — Frozen tool snapshots must survive refresh.
  • request_association_probeMissing — Roots, sampling, and elicitation should stay request-scoped.
Ready for Claude remote MCP
Ready
No major blockers detected.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
  • initializeOK
  • tools_listOK
  • transport_compliance_probeWarning
Unsafe for write actions
Yes
High-risk write, exec, or destructive tools need stronger auth and confirmation semantics.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history
Disagreements: none
  • action_safety_probeError
Snapshot churn risk
Low
No material tool-surface churn detected in the latest comparison.
Confidence: medium (65.0)
Evidence provenance
Winner: history
Supporting sources: history, live_validation
Disagreements: none
  • tool_snapshot_probeOK
  • connector_replay_probeOK

Why not ready by client

ChatGPT custom connector
Partial
Remediation checklist
  • No explicit blockers recorded.
Claude remote MCP
Ready
Remediation checklist
  • No explicit blockers recorded.
Write-safe publishing
Blocked
Remediation checklist
  • No explicit blockers recorded.

Verdict traces

Production verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Confidence: medium (65.0)
Winning source: live_validation
Triggering alerts
  • validation_stale • medium • Validation evidence is stale
Client verdict trace table
VerdictStatusChecksWinning sourceConflicts
openai_connectors Partial initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe live_validation none
claude_desktop Ready initialize, tools_list, transport_compliance_probe live_validation none
unsafe_for_write_actions Yes action_safety_probe live_validation none
snapshot_churn_risk Low tool_snapshot_probe, connector_replay_probe history none

Publishability policy profiles

ChatGPT custom connector publishability
Caution
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.
  • Search Fetch Only: No
  • Write Actions Present: Yes
  • Oauth Configured: No
  • Admin Refresh Required: No
  • Safe For Company Knowledge: No
  • Safe For Messages Api Remote Mcp: No
Claude remote MCP publishability
Ready
Transport, discovery, and remote-MCP assumptions are satisfied.
  • Search Fetch Only: No
  • Write Actions Present: Yes
  • Oauth Configured: No
  • Admin Refresh Required: No
  • Safe For Company Knowledge: No
  • Safe For Messages Api Remote Mcp: No

Compatibility fixtures

ChatGPT custom connector fixture
Degraded
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.
  • remote_http_endpoint: Passes
  • oauth_discovery: Degraded
  • frozen_tool_snapshot_refresh: Passes
  • request_association: Passes
Anthropic remote MCP fixture
Passes
Remote MCP transport and discovery assumptions are satisfied.
  • remote_transport: Passes
  • tool_discovery: Passes
  • auth_connect: Passes
  • safe_write_review: Degraded

Authenticated validation sessions

Latest profile
remote_mcp
Authenticated session used
Public score isolation
Preview endpoint
/v1/verify
CI preview endpoint
/v1/ci/preview

Public server reputation

Validation success 7d
n/a
Validation success 30d
1.0
Mean time to recover
n/a
Breaking diffs 30d
2
Registry drift frequency 30d
0
Snapshot changes 30d
2

Incident & change feed

TimestampEventDetails
Apr 09, 2026 12:46:25 AM UTC Latest validation: healthy Score 75.5 with status healthy.

Capabilities

Use-case taxonomy
development database search productivity

Security posture

Tools analyzed
35
High-risk tools
2
Destructive tools
1
Exec tools
2
Egress tools
0
Secret tools
21
Bulk-access tools
0
Risk distribution
medium:33, high:2

Tool capability & risk inventory

ToolCapabilitiesRiskFindingsNotes
smart_traders_and_funds_token_balances read network secrets Medium secret material access No explicit safeguard hints detected.
smart_traders_and_funds_perp_trades read network secrets Medium secret material access No explicit safeguard hints detected.
token_current_top_holders read write network admin secrets Medium secret material access admin mutation Safeguards hinted in metadata.
token_dex_trades read write network secrets Medium secret material access Safeguards hinted in metadata.
token_transfers read write network secrets Medium secret material access No explicit safeguard hints detected.
token_flows read write network admin secrets Medium secret material access admin mutation Safeguards hinted in metadata.
token_pnl_leaderboard read write network secrets Medium secret material access No explicit safeguard hints detected.
token_who_bought_sold read network secrets Medium secret material access No explicit safeguard hints detected.
token_recent_flows_summary read network secrets Medium secret material access No explicit safeguard hints detected.
token_discovery_screener read write delete network admin secrets High destructive operation secret material access admin mutation No explicit safeguard hints detected.
token_ohlcv read write network secrets Medium secret material access No explicit safeguard hints detected.
token_perp_stats read network secrets Medium secret material access No explicit safeguard hints detected.
token_quant_scores read network filesystem admin secrets Medium secret material access No explicit safeguard hints detected.
nansen_score_top_tokens read write network admin secrets Medium secret material access admin mutation No explicit safeguard hints detected.
hyperliquid_leaderboard read network Medium none No explicit safeguard hints detected.
address_historical_balances read network secrets Medium secret material access No explicit safeguard hints detected.
address_related_addresses read write network Medium none Safeguards hinted in metadata.
address_counterparties read write network secrets Medium secret material access No explicit safeguard hints detected.
address_transactions read network Medium none No explicit safeguard hints detected.
wallet_pnl_for_token read write network secrets Medium secret material access No explicit safeguard hints detected.
wallet_pnl_summary read write network secrets Medium secret material access No explicit safeguard hints detected.
address_portfolio read write network admin secrets Medium secret material access admin mutation Safeguards hinted in metadata.
general_search read exec network secrets High command execution secret material access freeform input surface No explicit safeguard hints detected.
growth_chain_rank read write network Medium none Safeguards hinted in metadata.
transaction_lookup read write network secrets Medium secret material access Safeguards hinted in metadata.
prediction_market_lookup read write network admin Medium admin mutation No explicit safeguard hints detected.
prediction_market_screener read write exec network Medium command execution No explicit safeguard hints detected.
prediction_market_ohlcv read network Medium none No explicit safeguard hints detected.
prediction_market_orderbook read network Medium none No explicit safeguard hints detected.
prediction_market_top_holders read write network Medium none No explicit safeguard hints detected.
prediction_market_trades read write network Medium none No explicit safeguard hints detected.
prediction_market_pnl_leaderboard read network Medium none No explicit safeguard hints detected.
prediction_market_position_detail read network Medium none No explicit safeguard hints detected.
prediction_market_address_trades network Medium none No explicit safeguard hints detected.
prediction_market_address_pnl network Medium none No explicit safeguard hints detected.

Write-action governance

Governance status
Error
Safe to publish
Auth boundary
public_or_unclear
Blast radius
Medium
High-risk tools
2
Confirmation signals
none
Safeguard count
7

Status detail: 2 high-risk tool(s), 1 destructive tool(s), 2 exec-capable tool(s) are exposed without a clear auth boundary; 7 safeguard(s) and 0 confirmation signal(s) detected.

ToolRiskFlagsSafeguards
token_discovery_screener High destructive operation secret material access admin mutation no
general_search High command execution secret material access freeform input surface no

Action-controls diff

Snapshot changed
no
Disabled-by-default candidates
none
Manual review candidates
none
New actions
ActionRiskFlags
No newly added actions.
Changed actions
ActionChange typesRisk
No materially changed actions.

Why this score?

Access & Protocol
32/44
Connectivity, auth, and transport expectations for common clients.
Interface Quality
37/56
How well the tool/resource interface communicates and behaves under automation.
Security Posture
25.5/36
How safely the exposed tool surface handles destructive actions, egress, execution, secrets, and risky inputs.
Reliability & Trust
24/24
Operational stability, consistency, and trustworthiness over time.
Discovery & Governance
23.5/28
How well the server is documented, listed, and governed in public registries.
Adoption & Market
6/8
Adoption clues and public evidence that the server is intended for external use.

Algorithmic score breakdown

Auth Operability
2/4
Measures whether auth discovery and protected access behave predictably for clients.
Error Contract Quality
0/4
Grades machine-readable error structure, status alignment, and remediation hints.
Rate-Limit Semantics
2/4
Checks whether quota/throttle responses are deterministic and automation-friendly.
Schema Completeness
2/4
Completeness of tool descriptions, parameter docs, examples, and schema shape.
Backward Compatibility
4/4
Stability score across tool schema/name drift relative to prior validations.
SLO Health
4/4
Availability, latency, and burst-failure profile across recent validation history.
Security Hygiene
2.5/4
HTTPS posture, endpoint hygiene, and response-surface hardening checks.
Task Success
4/4
Can an agent reliably initialize, enumerate tools, and execute core MCP flows?
Trust Confidence
4/4
Confidence-adjusted reliability score that penalizes low evidence volume.
Abuse/Noise Resilience
4/4
How well the server preserves core behavior in the presence of noisy traffic patterns.
Prompt Contract
2/4
Quality of prompt metadata, argument shape, and prompt discoverability for clients.
Resource Contract
2/4
How completely resources and resource templates describe URIs, types, and usage shape.
Discovery Metadata
3/4
Homepage, docs, icon, repository, support, and license coverage for directory consumers.
Registry Consistency
2/4
Agreement between stored registry metadata, live server-card data, and current validation output.
Installability
4/4
How cleanly a real client can connect, initialize, enumerate tools, and proceed through auth.
Session Semantics
4/4
Determinism and state behavior across repeated MCP calls, including sticky-session surprises.
Tool Surface Design
3/4
Naming clarity, schema ergonomics, and parameter complexity across the tool surface.
Result Shape Stability
4/4
Stability of declared output schemas across validations, with penalties for drift or missing shapes.
OAuth Interop
3/4
Depth and client compatibility of OAuth/OIDC metadata beyond the minimal protected-resource check.
Recovery Semantics
0/4
Whether failures include actionable machine-readable next steps such as retry or upgrade guidance.
Maintenance Signal
4/4
Versioning, update recency, and historical validation cadence that indicate active stewardship.
Adoption Signal
3/4
Directory presence and distribution clues that suggest the server is intended for external use.
Freshness Confidence
4/4
Confidence that recent validations are current enough and dense enough to trust operationally.
Transport Fidelity
4/4
Whether declared transport metadata matches the observed endpoint behavior and response formats.
Spec Recency
2/4
How close the server’s claimed MCP protocol version is to the latest known public revision.
Session Resume
3/4
Whether Streamable HTTP session identifiers and resumed requests behave cleanly for real clients.
Step-Up Auth
3/4
Whether OAuth metadata and WWW-Authenticate challenges support granular, incremental consent instead of broad upfront scopes.
Transport Compliance
2/4
Checks session headers, protocol-version enforcement, session teardown, and expired-session behavior.
Utility Coverage
4/4
Signals support for completions, pagination, and task-oriented utility surfaces that larger clients increasingly expect.
Advanced Capability Coverage
3/4
Coverage of newer MCP surfaces like roots, sampling, elicitation, structured output, and related metadata.
Connector Publishability
3/4
How ready the server looks for client catalogs and managed connector programs.
Tool Snapshot Churn
4/4
Stability of the tool surface across recent validations, including add/remove and output-shape drift.
Connector Replay
4/4
Whether a previously published frozen connector snapshot would remain backward compatible after the latest tool refresh.
Request Association
3/4
Whether roots, sampling, and elicitation appear tied to active client requests instead of arriving unsolicited on idle sessions.
Interactive Flow Safety
3/4
Whether prompts and docs steer users toward safe auth flows instead of pasting secrets directly.
Action Safety
2/4
Risk-weighted view of destructive, exec, egress, and confirmation semantics across the tool surface.
Official Registry Presence
4/4
Whether the server appears directly or indirectly in the official MCP registry.
Provenance Divergence
4/4
How closely official registry metadata, the live server card, and public repo/package signals agree with each other.
Safety Transparency
4/4
Clarity of docs, auth disclosure, support links, and other trust signals visible to integrators.
Tool Capability Clarity
3/4
How clearly the tool surface communicates whether each action reads, writes, deletes, executes, or exports data.
Destructive Operation Safety
2/4
Penalizes delete/revoke/destroy style tools unless auth and safeguards reduce blast radius.
Egress / SSRF Resilience
3/4
Assesses arbitrary URL fetch, crawl, webhook, and remote-request exposure on the tool surface.
Execution / Sandbox Safety
3/4
Evaluates shell, code, script, and command-execution exposure and whether that surface appears contained.
Data Exfiltration Resilience
3/4
Assesses export, dump, backup, and bulk-read behavior against the surrounding auth and safeguard signals.
Least Privilege Scope
2/4
Rewards scoped auth metadata and penalizes broad or missing scopes around privileged tools.
Secret Handling Hygiene
4/4
Assesses secret-bearing tools, token leakage risk, and whether the public surface avoids obvious secret exposure.
Supply Chain Signal
2.5/4
Public metadata signal for repository, changelog, license, versioning, and recency that supports supply-chain trust.
Input Sanitization Safety
3/4
Penalizes risky freeform string inputs when schemas do not constrain URLs, code, paths, queries, or templates.
Tool Namespace Clarity
4/4
Measures naming uniqueness and ambiguity across the tool namespace to reduce collision and confusion risk.

Compatibility profiles

OpenAI Connectors
77.8
partial
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.
Connector URL: https://mcp.nansen.ai/ra/mcp/
# No OAuth metadata detected.
# Server: io.github.nansen-ai/nansen-mcp
Claude Desktop
100.0
compatible
No major blockers detected.
{
  "mcpServers": {
    "nansen-mcp": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.nansen.ai/ra/mcp/"]
    }
  }
}
Smithery
80.0
compatible
Machine-readable failure semantics should be present.
smithery mcp add "https://mcp.nansen.ai/ra/mcp/"
Generic Streamable HTTP
100.0
compatible
No major blockers detected.
curl -sS https://mcp.nansen.ai/ra/mcp/ -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'

Actionable remediation

SeverityRemediationWhy it mattersRecommended action
High Add confirmation and dry-run semantics for risky actions High-risk write, delete, exec, or egress tools should communicate safeguards clearly. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
High Align session and protocol behavior with Streamable HTTP expectations Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.
Playbook
  • Return `Mcp-Session-Id` and `Mcp-Protocol-Version` headers consistently on streamable HTTP responses.
  • Honor `DELETE` session teardown and return `404` when a deleted session is reused.
  • Reject invalid protocol-version headers with `400 Bad Request`.
High Associate roots, sampling, and elicitation with active client requests Modern MCP guidance expects roots, sampling, and elicitation traffic to be tied to an active client request instead of arriving unsolicited on idle sessions. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
High Expose /.well-known/oauth-protected-resource Without a protected-resource document, OAuth clients cannot discover auth requirements reliably. Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.
Playbook
  • Serve `/.well-known/oauth-protected-resource` from the same host as the MCP endpoint.
  • Point it at the authorization server metadata URL.
  • Confirm clients receive consistent auth hints before tool execution.
High Publish OAuth authorization-server metadata Clients need authorization-server metadata to discover issuer, endpoints, and DCR support. Publish /.well-known/oauth-authorization-server from your issuer and include registration_endpoint when supported.
Playbook
  • Publish `/.well-known/oauth-authorization-server` from the issuer.
  • Add `registration_endpoint` if DCR is supported.
  • Verify issuer, authorization, token, and jwks metadata are all reachable.
High Publish a complete server card Missing or incomplete server-card metadata weakens discovery, documentation, and trust signals. Serve /.well-known/mcp/server-card.json and include tools, prompts/resources, homepage, and support links.
Playbook
  • Publish `/.well-known/mcp/server-card.json`.
  • Include homepage, repository, support, tools, prompts/resources, and auth metadata.
  • Revalidate the server after publishing the card.
High Stop asking users to paste secrets directly Public MCP servers should prefer OAuth or browser-based auth guidance over in-band secret collection. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Adopt a current MCP protocol revision Older protocol revisions reduce compatibility with newer clients and registry programs. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Close connector-publishing gaps Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Document minimal scopes and return cleaner auth challenges Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.
Playbook
  • Advertise the narrowest viable scopes in OAuth metadata.
  • Return `WWW-Authenticate` challenges with scope or insufficient-scope hints when additional consent is needed.
  • Revalidate with both public discovery and auth-required flows.
Medium Publish OpenID configuration OIDC metadata improves token validation and client compatibility. Expose /.well-known/openid-configuration with issuer, jwks_uri, and supported grants.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Respond to validation evidence is stale Latest validation is 605.1 hours old. Trigger a fresh validation run or increase scheduler priority for this server.
Playbook
  • Queue a new validation run now.
  • Inspect whether the scheduler priority should be raised for this server.
  • Do not rely on stale evidence for production decisions.
Medium Support resumable HTTP sessions cleanly Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Low Publish newer MCP capability signals Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.

Point loss breakdown

ComponentCurrentPoints missing
Recovery Semantics 0/4 -4.0
Error Contract 0/4 -4.0
Transport Compliance 2/4 -2.0
Spec Recency 2/4 -2.0
Schema Completeness 2/4 -2.0
Resource Contract 2/4 -2.0
Registry Consistency 2/4 -2.0
Rate Limit Semantics 2/4 -2.0
Prompt Contract 2/4 -2.0
Least Privilege Scope 2/4 -2.0
Destructive Operation Safety 2/4 -2.0
Auth Operability 2/4 -2.0

Validation diff

Score delta
0
Summary changed
no
Tool delta
0
Prompt delta
0
Auth mode changed
no
Write surface expanded
no
Protocol regressed
no
Registry drift changed
no

Regressed checks: none

Improved checks: none

ComponentPreviousLatestDelta
No component deltas between the latest two runs.

Tool snapshot diff & changelog

Snapshot changed
no
Added tools
none
Removed tools
none
Required-argument changes
ToolAdded required argsRemoved required args
No required-argument changes detected.
Output-schema drift
ToolPrevious propertiesLatest properties
No output-schema drift detected.

Connector replay

Status
OK
Backward compatible
Would break after refresh
Added tools
none
Removed tools
none
Additive output changes
none
Required-argument replay breaks
ToolAdded required argsRemoved required args
No required-argument replay breaks detected.
Output-schema replay breaks
ToolRemoved propertiesAdded properties
No output-schema replay breaks detected.

Transport compliance drilldown

Probe status
Warning
Transport
streamable-http
Session header
no
Protocol header
no
Bad protocol response
400
DELETE teardown
n/a
Expired session retry
n/a
Last-Event-ID visible
no

Issues: missing_session_id, missing_protocol_header

Request association

Status
Missing
Advertised capabilities
none
Observed idle methods
none
Violating methods
none
Probe HTTP status
n/a
Issues
none

Utility coverage

Probe status
OK
Completions
not detected
Completion probe target: none
Pagination
not detected
No nextCursor evidence.
Tasks
OK
Advertised: yes

Benchmark tasks

Benchmark taskStatusEvidence
Discover tools Passes
  • initializeOK
  • tools_listOK
Read-only fetch flow Likely to fail
  • resource_readMissing
  • read_only_tool_surfaceMissing
OAuth-required connect Degraded
  • oauth_protected_resourceError
  • step_up_auth_probeMissing
Safe write flow with confirmation Likely to fail
  • action_safety_probeError

Registry & provenance divergence

Probe status
OK
Direct official match
yes
Drift fields
none
FieldRegistryLive server card
Titlen/an/a
Versionn/an/a
Homepagen/an/a

Active alerts

Aliases & registry graph

IdentifierSourceCanonicalScore
io.github.nansen-ai/nansen-mcp official_registry yes 75.51
io.github.hurcanNansen/nansen-mcp official_registry no 75.51

Alias consolidation

Canonical identifier
io.github.nansen-ai/nansen-mcp
Duplicate aliases
1
Registry sources
official_registry
Homepages
none
Source disagreements
FieldWhat differsObserved values
Remote URL Aliases currently point at different MCP endpoints, which can indicate mirrors, stale registry data, or a real endpoint split. https://mcp.nansen.ai/ra/mcp https://mcp.nansen.ai/ra/mcp/
Registry identifier Different registry-specific identifiers resolve to the same canonical server record here. io.github.hurcanNansen/nansen-mcp io.github.nansen-ai/nansen-mcp

Install snippets

Openai Connectors
Connector URL: https://mcp.nansen.ai/ra/mcp/
# No OAuth metadata detected.
# Server: io.github.nansen-ai/nansen-mcp
Claude Desktop
{
  "mcpServers": {
    "nansen-mcp": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.nansen.ai/ra/mcp/"]
    }
  }
}
Smithery
smithery mcp add "https://mcp.nansen.ai/ra/mcp/"
Generic Http
curl -sS https://mcp.nansen.ai/ra/mcp/ -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'

Agent access & tool surface

Live server tools
smart_traders_and_funds_token_balances smart_traders_and_funds_perp_trades token_current_top_holders token_dex_trades token_transfers token_flows token_pnl_leaderboard token_who_bought_sold
Observed from the latest live validation against https://mcp.nansen.ai/ra/mcp/. This is the target server surface, not Verify's own inspection tools.
Live capability counts
35 tools • 0 prompts • 0 resources
Counts come from the latest tools/list, prompts/list, and resources/list checks.
Inspect with Verify
search_servers recommend_servers get_server_report compare_servers
Use Verify itself to search, recommend, compare, and fetch the full report for io.github.nansen-ai/nansen-mcp.
Direct machine links

Claims & monitoring

Server ownership

No verified maintainer claim recorded.

Watch subscriptions
0
Teams: none

Alert routing

Active watches
0
Generic webhooks
0
Slack routes
0
Teams routes
0
Email routes
0
WatchTeamChannelsMinimum severity
No active watch destinations.

Maintainer analytics

Validation Run Count
20
Average Latency Ms
1143.57
Healthy Run Ratio Recent
1.0
Registry Presence Count
2
Active Alert Count
1
Watcher Count
0
Verified Claim
False
Taxonomy Tags
development, database, search, productivity
Score Trend
75.51, 75.51, 75.51, 75.51, 75.51, 75.51, 75.51, 74.49, 75.0, 75.51
Remediation Count
14
High Risk Tool Count
2
Destructive Tool Count
1
Exec Tool Count
2

Maintainer response quality

Score
16.67
Verified claim
Support contact
Changelog present
Incident notes present
Tool changes documented
Annotation history
Annotation count
0

Maintainer annotations

No maintainer annotations have been recorded yet.

Maintainer rebuttals & expected behavior

No maintainer rebuttals or expected-behavior overrides are recorded yet.

Latest validation evidence

Latest summary
Healthy
Validation profile
remote_mcp
Started
Apr 09, 2026 12:46:24 AM UTC
Latency
953.5 ms

Failures

Checks

CheckStatusLatencyEvidence
action_safety_probe Error n/a 2 high-risk, 1 destructive, 2 exec-capable tool(s); no clear auth boundary; safeguards=7; confirmation=none.
advanced_capabilities_probe Warning n/a Only 3 capability signal(s): prompts, resources, structured outputs.
connector_publishability_probe Warning n/a Publishability blockers: action safety, server card.
connector_replay_probe OK n/a Backward compatible with no breaking tool-surface changes.
determinism_probe OK 79.3 ms Check completed
initialize OK 77.2 ms Protocol 2025-03-26
interactive_flow_probe Missing n/a Check completed
oauth_authorization_server Missing n/a no authorization server
oauth_protected_resource Error 40.4 ms Client error '404 Not Found' for url 'https://mcp.nansen.ai/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
official_registry_probe OK n/a Check completed
openid_configuration Missing n/a no authorization server
probe_noise_resilience OK 28.7 ms Fetched https://mcp.nansen.ai/robots.txt
prompt_get Missing n/a not advertised
prompts_list OK 67.2 ms 0 prompt(s) exposed
protocol_version_probe Warning n/a Claims 2025-03-26; 2 release(s) behind 2025-11-25.
provenance_divergence_probe OK n/a Check completed
request_association_probe Missing n/a No request-association capabilities were advertised.
resource_read Missing n/a not advertised
resources_list OK 73.0 ms 0 resource item(s) exposed
server_card Error 117.2 ms Client error '404 Not Found' for url 'https://mcp.nansen.ai/.well-known/mcp/server-card.json' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
session_resume_probe Warning n/a no session id
step_up_auth_probe Missing n/a No OAuth or incremental-scope signals detected.
tool_snapshot_probe OK n/a Check completed
tools_list OK 98.1 ms 35 tool(s) exposed
transport_compliance_probe Warning 92.9 ms Issues: missing session id, missing protocol header (bad protocol=400).
utility_coverage_probe OK 63.9 ms No completions evidence; no pagination evidence; tasks ok.

Raw evidence view

Show raw JSON evidence
{
  "checks": {
    "action_safety_probe": {
      "details": {
        "auth_present": false,
        "confirmation_signals": [],
        "safeguard_count": 7,
        "summary": {
          "bulk_access_tools": 0,
          "capability_distribution": {
            "admin": 7,
            "delete": 1,
            "exec": 2,
            "filesystem": 1,
            "network": 35,
            "read": 33,
            "secrets": 21,
            "write": 19
          },
          "destructive_tools": 1,
          "egress_tools": 0,
          "exec_tools": 2,
          "high_risk_tools": 2,
          "risk_distribution": {
            "critical": 0,
            "high": 2,
            "low": 0,
            "medium": 33
          },
          "secret_tools": 21,
          "tool_count": 35
        }
      },
      "latency_ms": null,
      "status": "error"
    },
    "advanced_capabilities_probe": {
      "details": {
        "capabilities": {
          "completions": false,
          "elicitation": false,
          "prompts": true,
          "resource_links": false,
          "resources": true,
          "roots": false,
          "sampling": false,
          "structured_outputs": true
        },
        "enabled": [
          "prompts",
          "resources",
          "structured_outputs"
        ],
        "enabled_count": 3,
        "initialize_capability_keys": [
          "experimental",
          "prompts",
          "resources",
          "tasks",
          "tools"
        ]
      },
      "latency_ms": null,
      "status": "warning"
    },
    "connector_publishability_probe": {
      "details": {
        "blockers": [
          "action_safety",
          "server_card"
        ],
        "criteria": {
          "action_safety": false,
          "auth_flow": true,
          "connector_replay": true,
          "initialize": true,
          "protocol_version": true,
          "remote_transport": true,
          "request_association": true,
          "server_card": false,
          "session_resume": true,
          "step_up_auth": true,
          "tool_surface": true,
          "tools_list": true,
          "transport_compliance": true
        },
        "high_risk_tools": 2,
        "tool_count": 35,
        "transport": "streamable-http"
      },
      "latency_ms": null,
      "status": "warning"
    },
    "connector_replay_probe": {
      "details": {
        "added_tools": [],
        "additive_output_changes": [],
        "backward_compatible": true,
        "output_breaks": [],
        "removed_tools": [],
        "required_arg_breaks": [],
        "would_break_after_refresh": false
      },
      "latency_ms": null,
      "status": "ok"
    },
    "determinism_probe": {
      "details": {
        "attempts": 2,
        "baseline_signature": "63415aa86847cca9b1b03bc2a44fd5b9382e4c281fadeb709beb343be111f3d1",
        "errors": [],
        "matches": 2,
        "stable_ratio": 1.0,
        "successful": 2
      },
      "latency_ms": 79.29,
      "status": "ok"
    },
    "initialize": {
      "details": {
        "headers": {
          "content-type": "text/event-stream"
        },
        "http_status": 200,
        "payload": {
          "id": 1,
          "jsonrpc": "2.0",
          "result": {
            "capabilities": {
              "experimental": {},
              "prompts": {
                "listChanged": true
              },
              "resources": {
                "listChanged": true,
                "subscribe": false
              },
              "tasks": {
                "cancel": {},
                "list": {},
                "requests": {
                  "prompts": {
                    "get": {}
                  },
                  "resources": {
                    "read": {}
                  },
                  "tools": {
                    "call": {}
                  }
                }
              },
              "tools": {
                "listChanged": true
              }
            },
            "instructions": "Supported chains are sei, arbitrum, avalanche, near, mantle, hyperevm, monad, polygon, ton, injective, sonic, hyperliquid, linea, iotaevm, unichain, optimism, plasma, all, bnb, scroll, ethereum, base, sui, ronin, tron, evm, zksync, bitcoin, solana, fantom",
            "protocolVersion": "2025-03-26",
            "serverInfo": {
              "name": "nansen-mcp",
              "version": "2.14.4"
            }
          }
        },
        "url": "https://mcp.nansen.ai/ra/mcp/"
      },
      "latency_ms": 77.19,
      "status": "ok"
    },
    "interactive_flow_probe": {
      "details": {
        "oauth_supported": false,
        "prompt_available": false,
        "risk_hits": [],
        "safe_hits": []
      },
      "latency_ms": null,
      "status": "missing"
    },
    "oauth_authorization_server": {
      "details": {
        "reason": "no_authorization_server"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "oauth_protected_resource": {
      "details": {
        "error": "Client error '404 Not Found' for url 'https://mcp.nansen.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
        "url": "https://mcp.nansen.ai/.well-known/oauth-protected-resource"
      },
      "latency_ms": 40.44,
      "status": "error"
    },
    "official_registry_probe": {
      "details": {
        "direct_match": true,
        "official_peer_count": 1,
        "registry_identifier": "io.github.nansen-ai/nansen-mcp",
        "registry_source": "official_registry"
      },
      "latency_ms": null,
      "status": "ok"
    },
    "openid_configuration": {
      "details": {
        "reason": "no_authorization_server"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "probe_noise_resilience": {
      "details": {
        "headers": {
          "content-type": "text/plain; charset=utf-8"
        },
        "http_status": 404,
        "url": "https://mcp.nansen.ai/robots.txt"
      },
      "latency_ms": 28.7,
      "status": "ok"
    },
    "prompt_get": {
      "details": {
        "reason": "not_advertised"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "prompts_list": {
      "details": {
        "headers": {
          "content-type": "text/event-stream"
        },
        "http_status": 200,
        "payload": {
          "id": 3,
          "jsonrpc": "2.0",
          "result": {
            "prompts": []
          }
        },
        "url": "https://mcp.nansen.ai/ra/mcp/"
      },
      "latency_ms": 67.22,
      "status": "ok"
    },
    "protocol_version_probe": {
      "details": {
        "claimed_version": "2025-03-26",
        "lag_days": 244,
        "latest_known_version": "2025-11-25",
        "releases_behind": 2,
        "validator_protocol_version": "2025-03-26"
      },
      "latency_ms": null,
      "status": "warning"
    },
    "provenance_divergence_probe": {
      "details": {
        "direct_official_match": true,
        "drift_fields": [],
        "metadata_document_count": 1,
        "registry_homepage": null,
        "registry_repository": null,
        "registry_title": null,
        "registry_version": null,
        "server_card_homepage": null,
        "server_card_repository": null,
        "server_card_title": null,
        "server_card_version": null
      },
      "latency_ms": null,
      "status": "ok"
    },
    "request_association_probe": {
      "details": {
        "reason": "no_request_association_capabilities_advertised"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "resource_read": {
      "details": {
        "reason": "not_advertised"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "resources_list": {
      "details": {
        "headers": {
          "content-type": "text/event-stream"
        },
        "http_status": 200,
        "payload": {
          "id": 5,
          "jsonrpc": "2.0",
          "result": {
            "resources": []
          }
        },
        "url": "https://mcp.nansen.ai/ra/mcp/"
      },
      "latency_ms": 73.03,
      "status": "ok"
    },
    "server_card": {
      "details": {
        "error": "Client error '404 Not Found' for url 'https://mcp.nansen.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
        "url": "https://mcp.nansen.ai/.well-known/mcp/server-card.json"
      },
      "latency_ms": 117.18,
      "status": "error"
    },
    "session_resume_probe": {
      "details": {
        "protocol_version": "2025-03-26",
        "reason": "no_session_id",
        "resume_expected": true,
        "transport": "streamable-http"
      },
      "latency_ms": null,
      "status": "warning"
    },
    "step_up_auth_probe": {
      "details": {
        "auth_required_checks": [],
        "broad_scopes": [],
        "challenge_headers": [],
        "minimal_scope_documented": false,
        "oauth_present": false,
        "scope_specificity_ratio": 0.0,
        "step_up_signals": [],
        "supported_scopes": []
      },
      "latency_ms": null,
      "status": "missing"
    },
    "tool_snapshot_probe": {
      "details": {
        "added": [],
        "changed_outputs": [],
        "current_tool_count": 35,
        "previous_tool_count": 35,
        "removed": [],
        "similarity": 1.0
      },
      "latency_ms": null,
      "status": "ok"
    },
    "tools_list": {
      "details": {
        "headers": {
          "content-type": "text/event-stream"
        },
        "http_status": 200,
        "payload": {
          "id": 2,
          "jsonrpc": "2.0",
          "result": {
            "tools": [
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get aggregated (not per wallet) smart trader and fund (EXCLUDES whales, large holders, influencers, etc.) token balances and 24h change per chain for all chains (default is ['all'], which queries all supported chains) or specific chain(s).\nUse filters to narrow down the results.",
                "inputSchema": {
                  "$defs": {
                    "SMLabel": {
                      "enum": [
                        "30D Smart Trader",
                        "90D Smart Trader",
                        "180D Smart Trader",
                        "All Time Smart Trader",
                        "Fund",
                        "Smart HL Perps Trader",
                        "Any Smart Money"
                      ],
                      "type": "string"
                    },
                    "SmartMoneyHoldingsRequest": {
                      "description": "Request for smart money token holdings (v1 API) - flattened.",
                      "properties": {
                        "chains": {
                          "description": "Optional list of chains to include. If omitted, defaults to ['all'] (all supported chains). Use 'all' to query all supported chains. Supported chains: arbitrum, avalanche, base, bnb, ethereum, hyperevm, hyperliquid, iotaevm, linea, mantle, monad, optimism, plasma, polygon, ronin, scroll, sei, solana, sonic, unichain, zksync, all",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "includeNativeTokens": {
                          "default": true,
                          "description": "Whether to include native tokens (ETH, SOL, etc.) in results",
                          "type": "boolean"
                        },
                        "includeSmartMoneyLabels": {
                          "anyOf": [
                            {
                              "items": {
                                "$ref": "#/$defs/SMLabel"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Smart money category filters to include"
                        },
                        "includeStablecoin": {
                          "default": true,
                          "description": "Whether to include stablecoins in results",
                          "type": "boolean"
                        },
                        "minHolders": {
                          "default": 0,
                          "description": "Minimum number of smart money holders a token must have to be included (default: 0, no filter)",
                          "type": "integer"
                        },
                        "orderBy": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Field to sort by (e.g. 'value_usd', 'holders_count', 'balance_24h_percent_change')"
                        },
                        "orderByDirection": {
                          "default": "DESC",
                          "description": "Sort direction: 'ASC' or 'DESC'",
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/SmartMoneyHoldingsRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "smart_traders_and_funds_token_balances",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking Smart Money positions"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get recent Hyperliquid perpetual futures trades from Smart Traders and Funds across all tokens.\n\nThis tool provides granular smart trader and funds activity. For a big picture view of smart traders and funds activity across all tokens, use token_discovery_screener with onlySmartTradersAndFunds filter.\n\n**Note:** This endpoint is Hyperliquid-only (perpetual futures data). It returns recent trades only (no date filtering available).\n\nColumns returned:\n- **Time**: Timestamp when the trade occurred (datetime: YYYY-MM-DD HH:MM:SS)\n- **Side**: Position direction - Long or Short\n- **Action**: Order action - Add, Reduce, Open, Close\n- **Token**: Symbol of the perpetual contract\n- **Size**: Quantity of the perpetual contract (numeric)\n- **Price USD**: Price per token at time of trade (price formatted)\n- **Value USD**: Total USD value of the trade (currency formatted)\n- **Trader**: Nansen label of the trading address\n- **Tx Hash**: Blockchain transaction hash for verification\n\nSorting Options (all fields support \"asc\"/\"desc\"):\n    Available for sorting: timestamp, valueUsd, amount, priceUsd\n\nExamples:\n    # Get recent smart money perp trades (sorted by value)\n    ```\n    {\n      \"order_by\": \"valueUsd\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\n    # Filter by action and side\n    ```\n    {\n      \"action\": \"Open\",\n      \"side\": \"Long\",\n      \"includeSmartMoneyLabels\": [\"Fund\", \"All Time Smart Trader\"]\n    }\n    ```",
                "inputSchema": {
                  "$defs": {
                    "OptionalNumericRange": {
                      "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
                      "properties": {
                        "from": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Minimum value (inclusive), optional"
                        },
                        "to": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Maximum value (inclusive), optional"
                        }
                      },
                      "type": "object"
                    },
                    "SMLabel": {
                      "enum": [
                        "30D Smart Trader",
                        "90D Smart Trader",
                        "180D Smart Trader",
                        "All Time Smart Trader",
                        "Fund",
                        "Smart HL Perps Trader",
                        "Any Smart Money"
                      ],
                      "type": "string"
                    },
                    "SmartMoneyPerpTradesRequest": {
                      "description": "Request for smart money perp trades - flattened.\n\nNote: This endpoint returns recent trades only (no date filtering available).",
                      "properties": {
                        "action": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by action: 'Add'/'Reduce'/'Open'/'Close' (can combine with side for precise filtering)."
                        },
                        "includeSmartMoneyLabels": {
                          "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types.",
                          "items": {
                            "$ref": "#/$defs/SMLabel"
                          },
                          "type": "array"
                        },
                        "order_by": {
                          "default": "valueUsd",
                          "type": "string"
                        },
                        "order_by_direction": {
                          "default": "desc",
                          "enum": [
                            "asc",
                            "desc"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        },
                        "side": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by position side: 'Long'/'Short'."
                        },
                        "traderAddress": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by trader address"
                        },
                        "valueUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by trade value in USD"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/SmartMoneyPerpTradesRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "smart_traders_and_funds_perp_trades",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Tracking Smart Money perp trades"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get upto 25 (per page) top holders information for a specific token.\n\n**Note:** Using `labelType: smart_money` is not a good proxy for an overall market view. Use it only if user explicitly requests it, or to combine it with other non smart money data.\n\n**Modes:**\n- `onchain_tokens` (default): Analyze on-chain tokens by contract address\n- `perps`: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to \"hyperliquid\")\n\nColumns returned (onchain_tokens mode):\n- **Address**: Wallet/contract address of the token holder\n- **Label**: Nansen label (e.g., exchange, whale, etc.)\n- **Balance**: Current balance held (numeric with K/M/B formatting)\n- **Balance USD**: USD value of token holdings (currency formatted)\n- **Ownership %**: Percentage of total token supply owned (percentage, 2 decimal places)\n- **Sent**: Total tokens sent from this address historically (numeric)\n- **Received**: Total tokens received by this address historically (numeric)\n- **24h Change**: Balance change in last 24 hours (numeric, can be negative)\n- **7d Change**: Balance change in last 7 days (numeric, can be negative)\n- **30d Change**: Balance change in last 30 days (numeric, can be negative)\n\nColumns returned (perps mode):\n- **Trader Address**: Address of the trader\n- **Trader Label**: Nansen label for the trader\n- **Side**: Position direction (Long/Short)\n- **Position Value USD**: Total USD value of the position (currency formatted)\n- **Position Size**: Size of the position in tokens (numeric)\n- **Leverage**: Leverage multiplier (e.g., \"20X\")\n- **Leverage Type**: Type of leverage (cross/isolated)\n- **Entry Price**: Average entry price (price formatted)\n- **Mark Price**: Current mark price (price formatted)\n- **Liquidation Price**: Liquidation price (price formatted)\n- **Funding USD**: Cumulative funding payments (currency formatted)\n- **Unrealized PnL USD**: Unrealized profit/loss (currency formatted)\n\nSorting Options (default: amount desc):\n    onchain_tokens mode: amount, valueUsd, total_outflow, total_inflow, balance_change_24h, balance_change_7d, balance_change_30d, ownership_percentage\n    perps mode: position_size, position_value_usd, entry_price, leverage, upnl_usd, funding_usd, mark_price, liquidation_price\n\nExamples:\n    # On-chain tokens (default mode)\n    ```\n    {\n      \"mode\": \"onchain_tokens\",\n      \"chain\": \"ethereum\",\n      \"token_address\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"label_type\": \"top_100_holders\"\n    }\n    ```\n\n    # Hyperliquid perpetual futures\n    ```\n    {\n      \"mode\": \"perps\",\n      \"token_address\": \"PENGU\",\n      \"label_type\": \"smart_money\"\n    }\n    ```\n\n    # Find most active senders using filters\n    ```\n    {\n      \"mode\": \"onchain_tokens\",\n      \"chain\": \"ethereum\",\n      \"token_address\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"label_type\": \"smart_money\",\n      \"includeSmartMoneyLabels\": [\"All Time Smart Trader\", \"Fund\"],\n      \"order_by\": \"total_outflow\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\n    # Find biggest accumulators (who received most tokens)\n    ```\n    {\n      \"mode\": \"onchain_tokens\",\n      \"chain\": \"ethereum\",\n      \"token_address\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"label_type\": \"whale\",\n      \"order_by\": \"total_inflow\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\n    # Perps mode with filters\n    ```\n    {\n      \"mode\": \"perps\",\n      \"token_address\": \"ETH\",\n      \"label_type\": \"smart_money\",\n      \"side\": \"Long\",\n      \"upnlUsd\": {\"from\": 10000},\n      \"positionValueUsd\": {\"from\": 100000},\n      \"order_by\": \"position_value_usd\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\n    **Restrictions exclusively when querying for native tokens (ETH, BNB, etc.):**\n    - Only supports sorting by `order_by='balance'` (others will fail)\n    - With `label_type='top_100_holders'`: limited filters (balance, total_outflow, total_inflow, address, smart money labels)\n    - For advanced filters, use different`label_type` or set `aggregate_by_entity=true`\n\n    **orderBy Restrictions (use 'balance' to avoid API errors):**\n    - Token address: 0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\n\n    **Does not** work for the following native tokens, DO NOT call with these as you will get an error:\n    - tokenAddress So11111111111111111111111111111111111111112 (SOL on solana chain).",
                "inputSchema": {
                  "$defs": {
                    "OptionalNumericRange": {
                      "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
                      "properties": {
                        "from": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Minimum value (inclusive), optional"
                        },
                        "to": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Maximum value (inclusive), optional"
                        }
                      },
                      "type": "object"
                    },
                    "SMLabel": {
                      "enum": [
                        "30D Smart Trader",
                        "90D Smart Trader",
                        "180D Smart Trader",
                        "All Time Smart Trader",
                        "Fund",
                        "Smart HL Perps Trader",
                        "Any Smart Money"
                      ],
                      "type": "string"
                    },
                    "SegmentType": {
                      "description": "Label types for holder analysis and filtering.",
                      "enum": [
                        "whale",
                        "public_figure",
                        "smart_money",
                        "top_100_holders",
                        "exchange"
                      ],
                      "type": "string"
                    },
                    "TokenCurrentTopHoldersRequest": {
                      "description": "Complete request for token current top holders (flattened).",
                      "properties": {
                        "aggregateByEntity": {
                          "default": false,
                          "description": "Whether to aggregate data by entity instead of individual addresses",
                          "type": "boolean"
                        },
                        "chain": {
                          "default": "ethereum",
                          "description": "Blockchain network. Supported: arbitrum, avalanche, base, bnb, ethereum, hyperevm, injective, iotaevm, linea, mantle, monad, near, optimism, plasma, polygon, ronin, scroll, sei, solana, sonic, sui, ton, tron, unichain, zksync",
                          "type": "string"
                        },
                        "entryPrice": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Entry price range filter - perps mode only"
                        },
                        "includeSmartMoneyLabels": {
                          "anyOf": [
                            {
                              "items": {
                                "$ref": "#/$defs/SMLabel"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types."
                        },
                        "labelType": {
                          "$ref": "#/$defs/SegmentType",
                          "default": "top_100_holders",
                          "description": "Label type for holder analysis and filtering"
                        },
                        "mode": {
                          "default": "onchain_tokens",
                          "description": "Analysis mode: 'onchain_tokens' for on-chain tokens by contract address, 'perps' for Hyperliquid perpetual futures by symbol",
                          "enum": [
                            "onchain_tokens",
                            "perps"
                          ],
                          "type": "string"
                        },
                        "order_by": {
                          "default": "amount",
                          "type": "string"
                        },
                        "order_by_direction": {
                          "default": "desc",
                          "enum": [
                            "asc",
                            "desc"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        },
                        "positionValueUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Position value range filter in USD - perps mode only"
                        },
                        "side": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Position side filter (Long/Short) - perps mode only"
                        },
                        "tokenAddress": {
                          "type": "string"
                        },
                        "upnlUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Unrealized PnL range filter in USD - perps mode only"
                        }
                      },
                      "required": [
                        "tokenAddress"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenCurrentTopHoldersRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_current_top_holders",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Finding top token holders"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get DEX trades for a specific token.\n\n**Modes:**\n- `onchain_tokens` (default): Analyze on-chain tokens by contract address\n- `perps`: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to \"hyperliquid\")\n\nArgs:\n    request: TokenDexTradesRequest containing parameters, pagination settings, and optional sorting\n\nReturns:\n    DEX trading activity as markdown. Returns empty string if no trades found.\n\n    **Common Columns (all modes):**\n    - **Time**: Timestamp when the trade occurred (datetime: YYYY-MM-DD HH:MM:SS)\n    - **Token**: Symbol of the token/perpetual contract\n    - **Price USD**: Price per token in USD at time of trade (currency formatted)\n    - **Value USD**: Total USD value of the trade/position change (currency formatted)\n    - **Trader**: Nansen label or name of the trading address\n    - **Tx Hash**: Blockchain transaction hash for verification\n\n    **onchain_tokens mode:**\n    - **Action**: Trade direction - BUY or SELL from perspective of the token\n    - **Token Amount**: Quantity of the target token traded (numeric)\n    - **Traded Amount**: Quantity of the other token in the swap (numeric)\n    - **Traded Token**: Symbol of the token traded against (e.g., WETH, USDC)\n\n    **perps mode:**\n    - **Side**: Position direction - Long or Short\n    - **Action**: Order action - Add, Reduce, Open, Close\n    - **Size**: Quantity of the perpetual contract (numeric)\n\nSorting Options (all fields support \"asc\"/\"desc\"):\n    Available for sorting: timestamp, valueUsd, amount, priceUsd\n\nExamples:\n    # On-chain tokens (default mode)\n    ```\n    {\n      \"mode\": \"onchain_tokens\",\n      \"chain\": \"ethereum\",\n      \"tokenAddress\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"dateRange\": {\"from\": \"24H_AGO\", \"to\": \"NOW\"}\n    }\n    ```\n\n    # Hyperliquid perpetual futures\n    ```\n    {\n      \"mode\": \"perps\",\n      \"tokenAddress\": \"PENGU\",\n      \"dateRange\": {\"from\": \"7D_AGO\", \"to\": \"NOW\"},\n      \"action\": \"Open\",\n      \"side\": \"Long\"\n    }\n    ```\n\n    # Find biggest trades by USD value (whale watching)\n    ```\n    {\n      \"mode\": \"onchain_tokens\",\n      \"chain\": \"ethereum\",\n      \"tokenAddress\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"dateRange\": {\"from\": \"7D_AGO\", \"to\": \"NOW\"},\n      \"order_by\": \"valueUsd\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\n    # Find who bought the dip vs who bought the top (price analysis)\n    ```\n    {\n      \"chain\": \"ethereum\",\n      \"tokenAddress\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"dateRange\": {\"from\": \"30D_AGO\", \"to\": \"NOW\"},\n      \"order_by\": \"priceUsd\",\n      \"order_by_direction\": \"asc\"\n    }\n    ```",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "OptionalNumericRange": {
                      "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
                      "properties": {
                        "from": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Minimum value (inclusive), optional"
                        },
                        "to": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Maximum value (inclusive), optional"
                        }
                      },
                      "type": "object"
                    },
                    "SMLabel": {
                      "enum": [
                        "30D Smart Trader",
                        "90D Smart Trader",
                        "180D Smart Trader",
                        "All Time Smart Trader",
                        "Fund",
                        "Smart HL Perps Trader",
                        "Any Smart Money"
                      ],
                      "type": "string"
                    },
                    "TokenDexTradesRequest": {
                      "description": "Complete request for token DEX trades (flattened).",
                      "properties": {
                        "action": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by action: 'buy'/'sell' (onchain), 'Add'/'Reduce'/'Open'/'Close' (perps, can combine with side for precise filtering)."
                        },
                        "chain": {
                          "default": "ethereum",
                          "description": "Blockchain network. Supported: arbitrum, avalanche, base, bnb, ethereum, hyperevm, injective, iotaevm, linea, mantle, monad, near, optimism, plasma, polygon, ronin, scroll, sei, solana, sonic, sui, ton, tron, unichain, zksync",
                          "type": "string"
                        },
                        "dateRange": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for trade analysis"
                        },
                        "includeSmartMoneyLabels": {
                          "anyOf": [
                            {
                              "items": {
                                "$ref": "#/$defs/SMLabel"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types."
                        },
                        "mode": {
                          "default": "onchain_tokens",
                          "description": "Analysis mode: 'onchain_tokens' for on-chain tokens by contract address, 'perps' for Hyperliquid perpetual futures by symbol",
                          "enum": [
                            "onchain_tokens",
                            "perps"
                          ],
                          "type": "string"
                        },
                        "order_by": {
                          "default": "timestamp",
                          "type": "string"
                        },
                        "order_by_direction": {
                          "default": "desc",
                          "enum": [
                            "asc",
                            "desc"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        },
                        "side": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by position side: 'Long'/'Short'."
                        },
                        "tokenAddress": {
                          "type": "string"
                        },
                        "traderAddress": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by trader address"
                        },
                        "valueUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by trade value in USD"
                        }
                      },
                      "required": [
                        "tokenAddress"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenDexTradesRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_dex_trades",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking latest DEX trades"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get 25 token transfers (per page) for a specific token based on the sort order.\nDefault is most recent transfers first.\n\n**NOTE:** This tool does not support native tokens (so11111111111111111111111111111111111111112, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee).\n\nColumns returned:\n- **Time**: Timestamp when the transfer occurred (block_timestamp: ISO 8601 format)\n- **From Label**: Source address label (from_address_label: sender of tokens)\n- **To Label**: Destination address label (to_address_label: receiver of tokens)\n- **From Address**: Raw source address (from_address: hex address)\n- **To Address**: Raw destination address (to_address: hex address)\n- **Amount**: Quantity of tokens transferred (transfer_amount: numeric)\n- **Value USD**: USD value of the transfer at time of transaction (transfer_value_usd: currency formatted)\n- **Type**: Transfer category (transaction_type: DEX, CEX, transfer, etc.)\n- **Tx Hash**: Blockchain transaction hash for verification (transaction_hash)\n\nSorting Options (all fields support \"asc\"/\"desc\"):\n    Available for sorting: timestamp, amount, valueUsd\n\nExamples:\n    # Basic request (most recent transfers first)\n    ```\n    {\n      \"chain\": \"ethereum\",\n      \"tokenAddress\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"dateRange\": {\"from\": \"24H_AGO\", \"to\": \"NOW\"},\n      \"order_by\": \"timestamp\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\n    # Smart money only filter (largest transfers first)\n    ```\n    {\n      \"chain\": \"ethereum\",\n      \"tokenAddress\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"dateRange\": {\"from\": \"7D_AGO\", \"to\": \"NOW\"},\n      \"transferOriginCategories\": [\"all_transfers\"],\n      \"onlySmartTradersAndFunds\": true,\n      \"order_by\": \"valueUsd\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\n    # Filter by DEX only with minimum transfer value (USD)\n    ```\n    {\n      \"chain\": \"ethereum\",\n      \"tokenAddress\": \"0xa0b86a33e6b6c4b3add000b44b3a1234567890ab\",\n      \"dateRange\": {\"from\": \"24H_AGO\", \"to\": \"NOW\"},\n      \"transferOriginCategories\": [\"dex\"],\n      \"transferValueUsd\": {\"from\": 1000}\n    }\n    ```\n\n**Available Filters:**\n\nTransfer Origin Categories:\n- **transferOriginCategories** (list[str]): List of transfer types to include\n  Possible values: ['dex', 'cex', 'non_exchange_transfers', 'all_transfers']\n  Default: ['all_transfers']\n  Examples:\n    - ['dex'] - only DEX transfers\n    - ['cex'] - only CEX transfers\n    - ['dex', 'cex'] - both DEX and CEX\n    - ['non_exchange_transfers'] - only non-exchange transfers\n    - ['all_transfers'] - all types (default)\n\nSmart Money Filter:\n- **onlySmartTradersAndFunds** (bool): Only show smart money transfers (default: false)\n  When true, filters to show **only** transfers involving profitable addresses\n\nNumeric Range Filter:\n- **transferValueUsd** (object, optional): Filter by USD value of transfer\n  Format: {\"from\": X, \"to\": Y} or {\"from\": X} or {\"to\": Y}\n  - Specify only `from` for minimum bound (no maximum)\n  - Specify only `to` for maximum bound (no minimum)\n  - Specify both for a bounded range\n  Example: {\"from\": 1000} - only transfers worth at least $1,000 USD\n  Example: {\"to\": 50000} - only transfers up to $50,000 USD\n  Example: {\"from\": 1000, \"to\": 50000} - transfers between $1,000 and $50,000 USD\n  Note: This filters by the USD value of the transfer at time of transaction\n\nNotes:\n    - Use transferOriginCategories to control which transfer origins are included\n    - Smart Money filter shows **only** transfers involving profitable addresses (definition of *Smart Money*)\n    - transferValueUsd filters by USD value at time of transaction",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "OptionalNumericRange": {
                      "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
                      "properties": {
                        "from": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Minimum value (inclusive), optional"
                        },
                        "to": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Maximum value (inclusive), optional"
                        }
                      },
                      "type": "object"
                    },
                    "TokenTransfersRequest": {
                      "description": "Complete request for token transfers (flattened).",
                      "properties": {
                        "chain": {
                          "type": "string"
                        },
                        "dateRange": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for transfer analysis"
                        },
                        "onlySmartTradersAndFunds": {
                          "default": false,
                          "description": "Whether to include only smart money transfers.",
                          "type": "boolean"
                        },
                        "order_by": {
                          "default": "amount",
                          "type": "string"
                        },
                        "order_by_direction": {
                          "default": "desc",
                          "enum": [
                            "asc",
                            "desc",
                            "ASC",
                            "DESC"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        },
                        "tokenAddress": {
                          "type": "string"
                        },
                        "transferOriginCategories": {
                          "default": [
                            "all_transfers"
                          ],
                          "description": "List of transfer types to include. Possible values: ['dex', 'cex', 'non_exchange_transfers', 'all_transfers']",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "transferValueUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Range of USD values for transfer analysis"
                        }
                      },
                      "required": [
                        "chain",
                        "tokenAddress"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenTransfersRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_transfers",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Tracking token transfers"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get hourly aggregated token flows for a specific segment of holders over a date range. The segments are Top 100 holders, Whale, Public Figure, Smart Money and Exchange.\n\n**Note:** Using `holder_segment: smart_money` is not a good proxy for an overall market view. Use it only if user explicitly requests it, or to combine it with other non smart money data.\n\nThis is a **more granular** tool than `token_recent_flows_summary` and provides the TOTAL flows over the entire time frame broken down by segment.\n\n**NOTE:** This tool does not support native tokens (so11111111111111111111111111111111111111112, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee) in onchain_tokens mode.\n\n**Modes:**\n- `onchain_tokens` (default): Analyze on-chain tokens by contract address\n- `perps`: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to \"hyperliquid\")\n\nArgs:\n    request: TokenFlowsRequest containing parameters and pagination settings\n\nReturns:\n    Token flow statistics as markdown.\n\n    Columns returned:\n    - **Hour Timestamp**: Timestamp of the hour that the flow is calculated for (datetime: YYYY-MM-DD HH:MM:SS)\n    - **Price USD**: Token price in USD on this date (currency formatted)\n    - **Total Balance**: Aggregate token balance held by tracked addresses (numeric)\n    - **Balance USD**: USD value of the total tracked balance (currency formatted)\n    - **Holders**: Number of unique addresses in the tracked group\n    - **Inflows/Longs**: Total tokens flowing into tracked addresses (onchain_tokens mode) or Long positions (perps mode) (numeric)\n    - **Outflows/Shorts**: Total tokens flowing out of tracked addresses (onchain_tokens mode) or Short positions (perps mode) (numeric)\n\nNotes:\n    - Tracks *Smart Money* holders and their collective behavior\n    - Label parameter determines which group of holders to track\n    - In perps mode: Shorts that are added will show with a negative sign - this indicates new short positions, not closed positions",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "SegmentType": {
                      "description": "Label types for holder analysis and filtering.",
                      "enum": [
                        "whale",
                        "public_figure",
                        "smart_money",
                        "top_100_holders",
                        "exchange"
                      ],
                      "type": "string"
                    },
                    "TokenFlowsRequest": {
                      "description": "Complete request for token flows (flattened).",
                      "properties": {
                        "chain": {
                          "default": "ethereum",
                          "description": "Blockchain network. Supported: arbitrum, avalanche, base, bnb, ethereum, hyperevm, injective, iotaevm, linea, mantle, monad, near, optimism, plasma, polygon, ronin, scroll, sei, solana, sonic, sui, ton, tron, unichain, zksync",
                          "type": "string"
                        },
                        "dateRange": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for flow analysis"
                        },
                        "holder_segment": {
                          "$ref": "#/$defs/SegmentType",
                          "default": "top_100_holders"
                        },
                        "mode": {
                          "default": "onchain_tokens",
                          "description": "Analysis mode: 'onchain_tokens' for on-chain tokens by contract address, 'perps' for Hyperliquid perpetual futures by symbol",
                          "enum": [
                            "onchain_tokens",
                            "perps"
                          ],
                          "type": "string"
                        },
                        "tokenAddress": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "tokenAddress"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenFlowsRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_flows",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Tracking token movements"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Upto 25 results (per page) of trader PnL for a token. Use the sorting and filtering options to narrow down the results.\n\n**Modes:**\n- `onchain_tokens` (default): Analyze on-chain tokens by contract address\n- `perps`: Analyze Hyperliquid perpetual futures by symbol (chain auto-set to \"hyperliquid\")\n\n**NOTE:** This tool does not support native tokens (so11111111111111111111111111111111111111112, 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee) in onchain_tokens mode.\n\nReturns:\n    Trader performance rankings as markdown. Returns empty string if no trading data found.\n\n    Columns returned:\n    - **Address**: Trader's wallet address\n    - **Label**: Nansen label of the trader\n    - **Total PnL**: Combined realized and unrealized PnL (currency formatted, can be negative)\n    - **Total ROI**: Total return on investment as percentage (percentage formatted)\n    - **Realized PnL**: Profit/loss from completed trades (currency formatted, can be negative)\n    - **Realized ROI**: Return on investment from realized trades only (percentage formatted)\n    - **Unrealized PnL**: Current profit/loss on open positions (currency formatted, can be negative)\n    - **Unrealized ROI**: Return on investment from unrealized positions only (percentage formatted)\n    - **Token Holdings**: Current token quantity held (numeric formatted)\n    - **Holdings USD**: Current USD value of token holdings (currency formatted)\n    - **Token Price**: Current price per token (price formatted)\n    - **Peak Token Holdings**: Maximum token quantity ever held in the date range (numeric formatted)\n    - **Peak Holdings USD**: Maximum USD value ever held in the date range (currency formatted)\n    - **Still Holding %**: Percentage of peak holdings still held (percentage formatted)\n    - **Total Trades**: Number of trades executed by this address\n    - **Net Flow**: Net money flow - negative means net seller (currency formatted, can be negative)\n\n**Sorting** Options\nYou can **ONLY** sort by pnlUsdTotal, roiPercentTotal, pnlUsdRealised, roiPercentRealised, pnlUsdUnrealised,\nroiPercentUnrealised, valueUsd, nofTrades, stillHoldingBalanceRatio, netflowAmountUsd\n\n**Filtering** Options:\n    \ud83d\udccb List filters: traderAddress, fullName\n    \ud83d\udcca Numeric range filters: All sorting fields PLUS holdingAmount, nofBuys, nofSells,\n       boughtAmount, soldAmount, boughtUsd, soldUsd, maxBalanceHeld, maxBalanceHeldUsd\n\nExamples:\n    # On-chain tokens (default mode)\n    ```\n    {\n      \"mode\": \"onchain_tokens\",\n      \"chain\": \"ethereum\",\n      \"tokenAddress\": \"0xa0b86a33e6ba3e5b9e4b1b1b1b1b1b1b1b1b1b1b\",\n      \"dateRange\": {\"from\": \"30D_AGO\", \"to\": \"NOW\"},\n      \"order_by\": \"pnlUsdTotal\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\n    # Hyperliquid perpetual futures\n    ```\n    {\n      \"mode\": \"perps\",\n      \"tokenAddress\": \"ETH\",\n      \"dateRange\": {\"from\": \"7D_AGO\", \"to\": \"NOW\"}\n    }\n    ```\n\n    # Advanced filtering: Find profitable active traders with significant holdings\n    ```\n    {\n      \"chain\": \"ethereum\",\n      \"tokenAddress\": \"0xa0b86a33e6ba3e5b9e4b1b1b1b1b1b1b1b1b1b1b\",\n      \"dateRange\": {\"from\": \"30D_AGO\", \"to\": \"NOW\"},\n      \"pnlUsdTotal\": {\"from\": 1000, \"to\": 999999999},\n      \"nofTrades\": {\"from\": 5, \"to\": 100},\n      \"holdingUsd\": {\"from\": 10000, \"to\": 999999999},\n      \"stillHoldingBalanceRatio\": {\"from\": 0.1, \"to\": 1.0},\n      \"order_by\": \"roiPercentTotal\",\n      \"order_by_direction\": \"desc\"\n    }\n    ```\n\nNotes:\n    - Ranked by total PnL performance by default\n    - Useful for identifying successful traders and copying strategies\n    - Both ascending and descending sorts provide valuable insights (winners vs losers)\n    - ONLY RETURNS TOP 25 RESULTS for the sort order. Hence the result is NEVER complete.\n    - Make sure the sort order is relevant to your analysis as otherwise you will miss data.\n\n** This tool does not support hyperevm as chain **",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "OptionalNumericRange": {
                      "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
                      "properties": {
                        "from": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Minimum value (inclusive), optional"
                        },
                        "to": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Maximum value (inclusive), optional"
                        }
                      },
                      "type": "object"
                    },
                    "TokenPnlLeaderboardRequest": {
                      "description": "Complete request for token PnL leaderboard (flattened).",
                      "properties": {
                        "boughtAmount": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by total amount of tokens bought"
                        },
                        "boughtUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by total USD value of tokens bought"
                        },
                        "chain": {
                          "default": "ethereum",
                          "description": "Blockchain network. Supported: arbitrum, avalanche, base, bnb, ethereum, hyperevm, injective, iotaevm, linea, mantle, monad, near, optimism, plasma, polygon, ronin, scroll, sei, solana, sonic, sui, ton, tron, unichain, zksync",
                          "type": "string"
                        },
                        "dateRange": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for PnL analysis"
                        },
                        "fullName": {
                          "anyOf": [
                            {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by specific trader labels/names"
                        },
                        "holdingAmount": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by current token holdings amount"
                        },
                        "holdingUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by current USD value of holdings"
                        },
                        "maxBalanceHeld": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by maximum token balance ever held"
                        },
                        "maxBalanceHeldUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by maximum USD value ever held"
                        },
                        "mode": {
                          "default": "onchain_tokens",
                          "description": "Analysis mode: 'onchain_tokens' for on-chain tokens by contract address, 'perps' for Hyperliquid perpetual futures by symbol",
                          "enum": [
                            "onchain_tokens",
                            "perps"
                          ],
                          "type": "string"
                        },
                        "netflowAmountUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by net flow (negative = net seller)"
                        },
                        "nofBuys": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by number of buy transactions"
                        },
                        "nofSells": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by number of sell transactions"
                        },
                        "nofTrades": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by number of trades"
                        },
                        "order_by": {
                          "default": "pnlUsdTotal",
                          "type": "string"
                        },
                        "order_by_direction": {
                          "default": "desc",
                          "enum": [
                            "asc",
                            "desc",
                            "ASC",
                            "DESC"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        },
                        "pnlUsdRealised": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by realized PnL (completed trades)"
                        },
                        "pnlUsdTotal": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by total PnL (combined realized and unrealized)"
                        },
                        "pnlUsdUnrealised": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by unrealized PnL (current positions)"
                        },
                        "roiPercentRealised": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by realized ROI percentage"
                        },
                        "roiPercentTotal": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by total ROI percentage"
                        },
                        "roiPercentUnrealised": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by unrealized ROI percentage"
                        },
                        "soldAmount": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by total amount of tokens sold"
                        },
                        "soldUsd": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by total USD value of tokens sold"
                        },
                        "stillHoldingBalanceRatio": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by percentage of peak holdings still held"
                        },
                        "tokenAddress": {
                          "type": "string"
                        },
                        "traderAddress": {
                          "anyOf": [
                            {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by specific trader addresses"
                        }
                      },
                      "required": [
                        "tokenAddress"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenPnlLeaderboardRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_pnl_leaderboard",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Finding top performers"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get TOTAL amount of tokens bought/sold by address for a token on DEX (Decentralised Exchanges) ONLY.\n\nUse this tool to find out WHO is buying or selling a token (on DEX) AND then you can check if they are liquidating profits or accumulating more.\n\nReturns:\n    Aggregated buyer/seller activity as markdown. Returns empty string if no trading data found.\n\n    Columns returned:\n    - **Address**: Trader's wallet address\n    - **Label**: Nansen label of the address\n    - **Bought Token Volume**: Total quantity of tokens purchased\n    - **Sold Token Volume**: Total quantity of tokens sold\n    - **Gross Token Volume**: Combined buy and sell volume in tokens\n    - **Bought Volume USD**: USD value of all token purchases\n    - **Sold Volume USD**: USD value of all token sales\n    - **Gross Volume USD**: Combined USD trading volume\n\nSorting Options:\n    You can sort asc or desc by bought_volume_usd or sold_volume_usd\n\nNotes:\n    - buy_or_sell parameter filters for \"BUY\" (net buyers) or \"SELL\" (net sellers)\n    - Aggregates all trading activity within the specified time range",
                "inputSchema": {
                  "$defs": {
                    "BuyOrSell": {
                      "description": "Transaction types for buy/sell analysis.",
                      "enum": [
                        "BUY",
                        "SELL"
                      ],
                      "type": "string"
                    },
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "TokenWhoBoughtSoldRequest": {
                      "description": "Complete request for token who bought/sold (flattened).",
                      "properties": {
                        "buy_or_sell": {
                          "$ref": "#/$defs/BuyOrSell",
                          "description": "Transaction type for buyers or sellers analysis"
                        },
                        "chain": {
                          "type": "string"
                        },
                        "include_labels": {
                          "description": "Filter based on a particular set of segments based on label, default is empty which includes all segments",
                          "items": {
                            "$ref": "#/$defs/WalletLabel"
                          },
                          "type": "array"
                        },
                        "min_trade_volume_usd": {
                          "default": 10,
                          "type": "number"
                        },
                        "order_by": {
                          "default": "bought_volume_usd",
                          "type": "string"
                        },
                        "order_by_direction": {
                          "default": "DESC",
                          "enum": [
                            "asc",
                            "desc",
                            "ASC",
                            "DESC"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        },
                        "time_range": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for analysis"
                        },
                        "tokenAddress": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "chain",
                        "tokenAddress",
                        "buy_or_sell"
                      ],
                      "type": "object"
                    },
                    "WalletLabel": {
                      "description": "Wallet labels for holder analysis and filtering.",
                      "enum": [
                        "Whale",
                        "Public Figure",
                        "Exchange",
                        "Fund",
                        "30D Smart Trader",
                        "90D Smart Trader",
                        "180D Smart Trader",
                        "All Time Smart Trader"
                      ],
                      "type": "string"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenWhoBoughtSoldRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_who_bought_sold",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Finding recent traders"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get **TOTAL** token flows per segment:\n    1. Public Figures\n    2. Top PnL Traders\n    3. Whales\n    4. Smart Traders\n    5. Exchanges\n    6. Fresh Wallets\n\nInflow and outflow of tokens between the segments is CRITICAL in identifying token price trends.\n\nThe values provided are **aggregated over the specific lookback period (last 5min, 1d, 7d etc) specified**. If you have SPECIFIC date ranges in mind, use `token_flows` instead.\n\n**NOTE** Use `token_flows` for more granular data as it can filter between exact dates and provides HOURLY breakdowns.\n\nReturns:\n    Categorized token flow analysis as markdown.\n\n    For each segment, returns:\n    - Flow amount in USD\n    - Ratio compared to average flow\n    - Number of wallets\n\n    Format: \"{Segment} wallet flow of {amount} ({ratio}x average, from {count} wallets)\"\n\nNotes:\n    - Positive flow = net buying, negative flow = net selling\n    - For Exchange Flow, positive means more inflow to exchanges, negative means more outflow from exchanges\n    - Categorizes market participants by their historical behavior and characteristics\n\nNOTE: Bitcoin is not supported. DO NOT use this tool for bitcoin.\nNOTE: Hyperliquid is a perps chain and is NOT supported for token_recent_flows_summary",
                "inputSchema": {
                  "$defs": {
                    "LookbackPeriod": {
                      "description": "Lookback periods for time-based analysis.",
                      "enum": [
                        "5m",
                        "1h",
                        "6h",
                        "12h",
                        "1d",
                        "7d"
                      ],
                      "type": "string"
                    },
                    "TokenRecentFlowsSummaryRequest": {
                      "description": "Complete request for token recent flows summary (flattened).",
                      "properties": {
                        "chain": {
                          "type": "string"
                        },
                        "lookbackPeriod": {
                          "$ref": "#/$defs/LookbackPeriod",
                          "default": "1d",
                          "description": "Lookback period for analysis"
                        },
                        "tokenAddress": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "chain",
                        "tokenAddress"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenRecentFlowsSummaryRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_recent_flows_summary",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Analyzing recent activity"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get comprehensive token screening data across multiple blockchain networks with advanced filtering.\n\nA maximum of 25 results are returned out of 1000s of tokens. Use the sorting and filtering options to narrow down the results.\nA maximum of 5 chains can be specified per request (excess chains are automatically trimmed).\n\nThis tool helps with token discovery and finding trending tokens by combining different metrics: volume, liquidity, market cap,\nsmart money activity, and token age.\n\n**IMPORTANT - Hyperliquid Special Case:**\n- Hyperliquid chain queries perpetual futures (perps), not spot tokens\n- When hyperliquid is mixed with other chains, two sections of up to 25 results each are returned - one for spot tokens and one for perps.\n- For perps, only these filters are supported: volume, buyVolume, sellVolume, openInterest, netflow, nofTraders, onlySmartTradersAndFunds\n- Additional orderBy fields for perps: openInterest, funding\n- Unsupported filters/orderBy will fallback to defaults\n\nINPUT EXAMPLES:\n# Find tokens which are going up in price.\n# Added some liquidity filter to remove spam and low quality tokens.\n```\n{\n    \"chains\": [\"ethereum\", \"solana\", \"bnb\", \"base\"],\n    \"timeframe\": \"24h\",\n    \"liquidity\": {\"from\": 100000},\n    \"nofTraders\": {\"from\": 10},\n    \"orderBy\": \"priceChange\",\n    \"orderByDirection\": \"desc\"\n}\n```\n# Find top stablecoins by market cap\n```\n{\n    \"chains\": [\"ethereum\", \"solana\", \"bnb\", \"base\"],\n    \"timeframe\": \"7d\",\n    \"sectors\": [\"Stablecoin\"],\n    \"orderBy\": \"marketCapUsd\",\n    \"orderByDirection\": \"desc\"\n}\n```\n# Find AI memecoins with high trading activity\n{\n    \"chains\": [\"ethereum\", \"solana\", \"bnb\", \"base\"],\n    \"timeframe\": \"7d\",\n    \"sectors\": [\"AI Meme\"],\n    \"liquidity\": {\"from\": 100000},\n    \"volume\": {\"from\": 1000000}\n}\n# Find DeFi lending tokens\n{\n    \"chains\": [\"ethereum\", \"solana\", \"bnb\", \"base\"],\n    \"timeframe\": \"24h\",\n    \"sectors\": [\"DeFi Lending (Money Markets)\"],\n    \"netflow\": {\"from\": 1000000}\n}\n# Find tokens which have a lot of buying activity (high nofBuyers and buyVolume)\n# Note that we added some filters to remove spam and low quality tokens. We added liquidity filter so that we only surface tokens which we can buy or sell.\n# We sort by `netflow` descending to get tokens with the most net buying activity.\n```\n{\n    \"chains\": [\"ethereum\", \"solana\", \"bnb\", \"base\"],\n    \"timeframe\": \"24h\",\n    \"liquidity\": {\"from\": 100000},\n    \"buyVolume\": {\"from\": 1000000},\n    \"marketCapUsd\": {\"from\": 1000000},\n    \"nofBuyers\": {\"from\": 10},\n    \"orderBy\": \"netflow\",\n    \"orderByDirection\": \"desc\"\n}\n```\n# Find Hyperliquid perps with high open interest and positive net flow\n```\n{\n    \"chains\": [\"hyperliquid\"],\n    \"timeframe\": \"7d\",\n    \"openInterest\": {\"from\": 100000},\n    \"volume\": {\"from\": 1000000},\n    \"netflow\": {\"from\": 0},\n    \"nofTraders\": {\"from\": 10},\n    \"orderBy\": \"netflow\",\n    \"orderByDirection\": \"desc\"\n}\n```\n\nWARNING: To avoid timeouts, it's recommended to:\n- Use 4 chains or less at a time (API tends to timeout with more chains)\n- Use shorter timeframes (e.g., 24h or 1h instead of 7d or 30d)\n\nArgs:\n\nReturns:\n    Comprehensive token metrics as markdown. Returns empty string if no tokens found.\n\n    Columns returned:\n    - **Token Address**: Token address (e.g., 0x1234567890123456789012345678901234567890)\n    - **Symbol**: Token trading symbol (e.g., ETH, BTC, DOGE)\n    - **Chain**: Blockchain network (ethereum, solana, polygon, etc.)\n    - **Price USD**: Current token price in USD (currency formatted)\n    - **Price Change**: Price change percentage over the date range (percentage, can be negative)\n    - **Market Cap**: Current market capitalization (currency formatted)\n    - **Fully Diluted Valuation (FDV)**: Market cap if all tokens were circulating (currency formatted)\n    - **FDV/MC Ratio**: Ratio indicating how much supply is locked/vested (numeric, >1 means locked supply)\n    - **USD Volume**: Total trading volume in USD (currency formatted)\n    - **Buy USD Volume**: Total buy volume in USD (currency formatted)\n    - **Sell USD Volume**: Total sell volume in USD (currency formatted)\n    - **Net Flow USD**: Net flow (buys minus sells) in USD (currency formatted, can be negative)\n    - **DEX Liquidity**: Available liquidity for trading (currency formatted)\n    - **Inflow/FDV**: Inflow as percentage of FDV (percentage formatted)\n    - **Outflow/FDV**: Outflow as percentage of FDV (percentage formatted)\n    - **Token Age (Days)**: Days since token was first deployed\n    - **Sectors**: List of token sectors/categories\n\nNotes:\n    - Positive Net Flow indicates more buying than selling\n    - High FDV/MC Ratio suggests significant locked or vested tokens\n\n**Filtering Options** (filters parameter):\n    - **Numeric Ranges**: volume, liquidity, marketCapUsd, netflow, tokenAgeDays, nofTraders, nofBuyers, nofSellers, nofBuys, nofSells, buyVolume, sellVolume, fdv, fdvMcRatio, inflowFdvRatio, outflowFdvRatio\n    - **Categories**: sectors (e.g. [\"AI\", \"Meme\"]), includeSmartMoneyLabels\n    - **Flags**: onlySmartTradersAndFunds (boolean)\n      - Use ONLY when user explicitly asks for \"smart money\".\n      - Data with this filter is sparse. Pairing this with other filters (volume, liquidity, netflow) is likely to return no results.\n      - Only pair onlySmartTradersAndFunds with other filters (volume, liquidity, netflow) if the user request explicitly requires it.\n      - Instead of pairing this with other filters, you can rely on orderBy to sort by netflow, volume, liquidity, etc.\n\n    **CRITICAL WARNING:** 'priceChange' is NOT a valid filter. You cannot filter for \"tokens up > 10%\". Use `orderBy=\"priceChange\"` instead.\n\n**Sorting Options** (orderBy field):\n    Available fields (use with orderByDirection: \"asc\" or \"desc\"):\n\n    - **priceUsd**: Sort by token price\n    - **priceChange**: Sort by price change percentage\n    - **marketCapUsd**: Sort by market capitalization\n    - **volume**: Sort by total trading volume\n    - **buyVolume**: Sort by buy volume\n    - **sellVolume**: Sort by sell volume\n    - **netflow**: Sort by net flow (buys - sells)\n    - **liquidity**: Sort by DEX liquidity\n    - **nofTraders**: Sort by number of traders\n\n    (Note: Fields like `tokenAgeDays` or `outflowFdvRatio` are for FILTERING only, not sorting)\n\n    Default: orderBy=\"netflow\", orderByDirection=\"desc\"",
                "inputSchema": {
                  "$defs": {
                    "OptionalNumericRange": {
                      "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
                      "properties": {
                        "from": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Minimum value (inclusive), optional"
                        },
                        "to": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Maximum value (inclusive), optional"
                        }
                      },
                      "type": "object"
                    },
                    "SMLabel": {
                      "enum": [
                        "30D Smart Trader",
                        "90D Smart Trader",
                        "180D Smart Trader",
                        "All Time Smart Trader",
                        "Fund",
                        "Smart HL Perps Trader",
                        "Any Smart Money"
                      ],
                      "type": "string"
                    },
                    "ScreenerTimeframe": {
                      "description": "Token screener timeframe options.",
                      "enum": [
                        "5m",
                        "10m",
                        "1h",
                        "6h",
                        "24h",
                        "7d",
                        "30d"
                      ],
                      "type": "string"
                    },
                    "Sector": {
                      "description": "Sector options for token filtering.",
                      "enum": [
                        "All Sectors",
                        "Artificial Intelligence",
                        "AI Agents",
                        "AI Meme",
                        "Bags.fm",
                        "BRC20s/Bitcoin Ecosystem",
                        "Data source and Oracle",
                        "Decentralised Exchanges",
                        "DeFi Lending (Money Markets)",
                        "DePIN",
                        "DeSci",
                        "GambleFi",
                        "GameFi",
                        "Internet Capital Market",
                        "L1/L2 Token & Derivatives",
                        "LRTs",
                        "LSTs",
                        "Memecoins",
                        "Metaverse",
                        "NFTFi",
                        "NFTs",
                        "Crypto Payments",
                        "Perps, Options and Derivatives",
                        "RWAs",
                        "Restaking",
                        "Scaling & Connectivity",
                        "Social Fi",
                        "Stablecoin",
                        "Stablecoin Issuers",
                        "Yield Bearing",
                        "Yield Farming Protocols"
                      ],
                      "type": "string"
                    },
                    "TokenScreenerRequest": {
                      "description": "Complete token screener request with all parameters (flattened).",
                      "properties": {
                        "buyVolume": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by buy volume"
                        },
                        "chains": {
                          "default": [
                            "ethereum",
                            "solana",
                            "bnb",
                            "base"
                          ],
                          "description": "Blockchain networks to query. Maximum of 5 chains can be specified.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "fdv": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by fully diluted valuation"
                        },
                        "fdvMcRatio": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by FDV/Market Cap ratio"
                        },
                        "includeSmartMoneyLabels": {
                          "description": "List of smart money labels to filter by (default: empty list). Use 'Any Smart Money' to include all smart money types.",
                          "items": {
                            "$ref": "#/$defs/SMLabel"
                          },
                          "type": "array"
                        },
                        "inflowFdvRatio": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by inflow/FDV ratio"
                        },
                        "liquidity": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by liquidity"
                        },
                        "marketCapUsd": {
                          "$ref": "#/$defs/OptionalNumericRange",
                          "default": {
                            "from": 1.0,
                            "to": 1000000000000.0
                          },
                          "description": "Filter by market capitalization, only tokens with market cap > 1 USD and less than 1 trillion USD are included by default."
                        },
                        "netflow": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by net flow (inflows - outflows)"
                        },
                        "nofBuyers": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by number of buyers"
                        },
                        "nofBuys": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by number of buy transactions"
                        },
                        "nofSellers": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by number of sellers"
                        },
                        "nofSells": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by number of sell transactions"
                        },
                        "nofTraders": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by number of traders"
                        },
                        "onlySmartTradersAndFunds": {
                          "default": false,
                          "description": "Filter the data so that metrics only count where smart traders or funds are active (default: False)",
                          "type": "boolean"
                        },
                        "openInterest": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by open interest (Exclusively for Hyperliquid perps)"
                        },
                        "orderBy": {
                          "default": "netflow",
                          "type": "string"
                        },
                        "orderByDirection": {
                          "default": "desc",
                          "enum": [
                            "asc",
                            "desc",
                            "ASC",
                            "DESC"
                          ],
                          "type": "string"
                        },
                        "outflowFdvRatio": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by outflow/FDV ratio"
                        },
                        "sectors": {
                          "anyOf": [
                            {
                              "items": {
                                "$ref": "#/$defs/Sector"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "List of sectors to filter tokens by. Leave empty for no filtering."
                        },
                        "sellVolume": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by sell volume"
                        },
                        "timeframe": {
                          "$ref": "#/$defs/ScreenerTimeframe",
                          "default": "24h",
                          "description": "Time window for token data."
                        },
                        "tokenAgeDays": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by token age in days"
                        },
                        "volume": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by total trading volume"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenScreenerRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_discovery_screener",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Discovering trending tokens"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get OHLCV (Open, High, Low, Close, Volume) price data for a token with automatic interval resolution.\n\nNOTE: chain=Hyperliquid is a perps chain AND IS NOT supported for token_ohlcv\nENDPOINT ONLY SUPPORTS EVM CHAINS AND SOLANA.\n\n**YOU MUST USE THIS** over `general_search` to get prices. **`general_search` prices are delayed and often incorrect.**\nTo get **LATEST** price set from to '5MIN_AGO' and to to 'NOW'.\n\n\nResolution is automatically calculated based on the date range\n- < 6 hours: 5 minutes\n- 6 hours - 1 day: 15 minutes\n- 1-3 days: 30 minutes\n- 3-7 days: 60 minutes (1 hour)\n- 7-90 days: Daily\n- 90+ days: Weekly\n\nColumns returned:\n- **Interval Start**: Timestamp of the start of the interval (datetime: YYYY-MM-DD HH:MM:SS)\n- **Open**: Opening price of the interval\n- **High**: Highest price of the interval\n- **Low**: Lowest price of the interval\n- **Close**: Closing price of the interval\n- **Volume USD**: Volume in USD of the interval\n\nAdditional columns (when includeMarketCap=true):\n- **Open Market Cap**: Opening market cap in USD\n- **Close Market Cap**: Closing market cap in USD\n- **High Market Cap**: Highest market cap in USD\n- **Low Market Cap**: Lowest market cap in USD\n\nExample Usage:\n    Get OHLCV for WETH over the past week (auto-resolution):\n    ```\n    {\n        \"chain\": \"ethereum\",\n        \"tokenAddress\": \"0xba5ddd1f9d7f570dc94a51479a000e3bce967196\",\n        \"date\": {\n            \"from\": \"7D_AGO\",\n            \"to\": \"NOW\"\n        }\n    }\n    ```\n\n    Get OHLCV for WETH over 30 days (will use daily resolution):\n    ```\n    {\n        \"chain\": \"ethereum\",\n        \"tokenAddress\": \"0xba5ddd1f9d7f570dc94a51479a000e3bce967196\",\n        \"date\": {\n            \"from\": \"30D_AGO\",\n            \"to\": \"NOW\"\n        }\n    }\n    ```\n    Get OHLCV for WETH for last 20 minutes (will use 5 minute resolution):\n    ```\n    {\n        \"chain\": \"ethereum\",\n        \"tokenAddress\": \"0xba5ddd1f9d7f570dc94a51479a000e3bce967196\",\n        \"date\": {\n            \"from\": \"20MIN_AGO\",\n            \"to\": \"NOW\"\n        }\n    }\n    ```",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "TgmOhlcvUnifiedRequest": {
                      "description": "Unified request model for TGM OHLCV endpoint (flattened).\n\nResolution is automatically calculated based on the date range to keep\nresponses at approximately 100 rows, preventing context overflow.",
                      "properties": {
                        "chain": {
                          "type": "string"
                        },
                        "date": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for OHLCV data with 'from' and 'to' fields"
                        },
                        "includeMarketCap": {
                          "default": false,
                          "description": "Include market cap fields (openMcap, closeMcap, highMcap, lowMcap). Default: false for cleaner output",
                          "type": "boolean"
                        },
                        "tokenAddress": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "chain",
                        "tokenAddress",
                        "date"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TgmOhlcvUnifiedRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_ohlcv",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Loading price data"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get Hyperliquid perpetual futures stats for a token symbol.\n\nUse this for perp-specific analysis such as mark price, funding, open interest,\nbuy/sell pressure, trader participation, and whether a move looks crowded or squeeze-prone on Hyperliquid.\n\nReturns:\n    Hyperliquid perp stats as markdown.\n\n    Fields returned:\n    - **Mark Price**: Current perp mark price\n    - **Price Change**: Change vs previous price in the selected date range\n    - **Funding Rate (hourly)**: Current hourly funding rate as percentage\n    - **Funding Rate (annualized)**: Annualized funding rate as percentage\n    - **Open Interest**: Total current open interest in USD\n    - **Volume**: Total perp volume in USD\n    - **Buy Volume**: Perp buy volume in USD\n    - **Sell Volume**: Perp sell volume in USD\n    - **Net Flow (Buy - Sell)**: Buy/sell pressure in USD\n    - **Traders**: Number of traders in the selected date range\n\nExample:\n    ```\n    {\n      \"tokenSymbol\": \"BTC\",\n      \"date\": {\"from\": \"7D_AGO\", \"to\": \"NOW\"}\n    }\n    ```\n\nNotes:\n    - Hyperliquid-specific endpoint (perpetual futures only)\n    - This tool is symbol-based, not token-address-based",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "TokenPerpStatsRequest": {
                      "description": "Request for Hyperliquid perpetual futures stats by token symbol.",
                      "properties": {
                        "date": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for perp stats with 'from' and 'to' fields"
                        },
                        "tokenSymbol": {
                          "description": "Perpetual contract symbol on Hyperliquid (e.g., BTC, ETH, HYPE)",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tokenSymbol",
                        "date"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenPerpStatsRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_perp_stats",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Loading perp stats"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get Nansen Score Indicators for a token - quantitative risk and reward signals.\n\nUse this tool when assessing a token's risk/reward profile, evaluating buy/sell decisions,\nor when the user needs quantitative data to make trading decisions.\n\nReturns:\n    Token risk/reward indicators as markdown with interpretation guidance.\n\n    Token info:\n    - **Market Cap**: Current market cap in USD\n    - **Market Cap Group**: largecap (>$1B), midcap ($100M-$1B), or lowcap (<$100M)\n    - **Is Stablecoin**: Whether token is a stablecoin (some indicators don't apply to stablecoins)\n\n    Fields returned per indicator:\n    - **Score**: Signal classification (bullish/neutral/bearish for reward; low/medium/high for risk)\n    - **Signal**: Raw numeric value of the indicator\n    - **Percentile**: Rank vs same market cap group (0-100%)\n    - **Last Trigger**: Date when signal was last calculated\n\n    Indicator types:\n    - **Reward Indicators**: price-momentum, funding-rate, chain-fees, chain-tvl, protocol-fees, trading-range\n    - **Risk Indicators**: btc-reflexivity, liquidity-risk, token-supply-inflation, concentration-risk, cex-flows\n\n\nNotes:\n    - Not all indicators available for every token/chain combination\n    - Percentile compares against same market cap group (largecap >$1B, midcap $100M-$1B, lowcap <$100M)",
                "inputSchema": {
                  "$defs": {
                    "TokenQuantScoresRequest": {
                      "description": "Request model for Nansen Score Indicators endpoint (flattened).",
                      "properties": {
                        "chain": {
                          "default": "ethereum",
                          "description": "Blockchain chain (ethereum, solana, base, bnb, polygon, arbitrum, etc.)",
                          "type": "string"
                        },
                        "tokenAddress": {
                          "description": "Token contract address",
                          "type": "string"
                        }
                      },
                      "required": [
                        "tokenAddress"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/TokenQuantScoresRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "token_quant_scores",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Analyzing token quant scores"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Discover and filter a daily list of attractive tokens using Nansen Score Indicators weighted by coefficients (= Performance Score).\n\nUse this tool when you don't know which tokens to buy and need recommendations based on backtested indicators.\nFor specific token analysis (e.g., \"should I buy AAVE?\"), use token_quant_scores instead.\n\n**When to use this tool vs token_discovery_screener**:\n- Use **this tool** when you want **pre-scored buying recommendations** without specifying criteria. It answers \"what should I buy?\" by returning tokens that already meet a quantitative buying threshold (Performance Score \u226515) based on alpha indicators like price momentum, chain fees, and protocol fees. Data is updated in batches.\n- Use **token_discovery_screener** when you want **live data** or to **explore tokens by specific criteria** like sectors (e.g., \"AI memecoins\"), token age (e.g., \"new launches\"), smart money activity, or custom volume/liquidity thresholds. It's a filtering tool with real-time metrics where you define what you're looking for.\n\nReturns tokens pre-filtered by: performance_score >= 15 (buying threshold).\n\n**Example queries**: \"what tokens should I buy?\", \"which tokens look good?\", \"best tokens to buy today\"\n\n**Scoring:**\n- **Performance Score** (range -60 to +75): Higher = better alpha opportunity. **Buy threshold: \u226515**\n- **Risk Score** (range -60 to +80): Higher = safer token. >0 indicates low to medium risk.\n\nEvery time you give the Performance Score to the user, explain the scoring thresholds above. Same for the Risk Score. Every time quote the underlying indicators that contributed the most to the Performance/ Risk score and recall their definition to the user.\n\nReturns:\n    A list of tokens with the highest Performance Score as markdown.\n\n    Core fields: Token Address, Token Symbol, Chain, Performance Score, Risk Score.\n    Indicator columns are included dynamically based on data availability (columns with all zeros are excluded).",
                "inputSchema": {
                  "$defs": {
                    "NansenScoreTopTokensRequest": {
                      "description": "Request model for Nansen Score Top Tokens endpoint (flattened).",
                      "properties": {
                        "marketCapGroup": {
                          "anyOf": [
                            {
                              "enum": [
                                "lowcap",
                                "midcap",
                                "largecap"
                              ],
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by market cap group: 'lowcap' (<$100M), 'midcap' ($100M-$1B), 'largecap' (>$1B). Default: all groups"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/NansenScoreTopTokensRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "nansen_score_top_tokens",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Ranking top tokens by Nansen Score"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get Hyperliquid perpetual futures trader leaderboard with performance metrics.\n\nReturns:\n    Trader performance rankings as markdown.\n\n    Columns returned:\n    - **Address**: Trader's wallet address\n    - **Label**: Nansen label of the trader (if available)\n    - **Total PnL**: Total profit/loss in USD (currency formatted, can be negative)\n    - **ROI**: Return on investment as percentage (percentage formatted)\n    - **Account Value**: Total account value in USD (currency formatted)\n\n**Sorting and Filtering Options**:\n    You can sort and filter (from/to amounts) on these fields: totalPnl, accountValue, roi\n\n\nExample:\n    ```\n    {\n      \"date\": {\"from\": \"7D_AGO\", \"to\": \"NOW\"},\n      \"accountValue\": {\"from\": 100000, \"to\": 1000000},\n      \"totalPnl\": {\"from\": 10000},\n      \"order_by\": \"totalPnl\",\n      \"orderByDirection\": \"DESC\"\n    }\n    ```\n\nNotes:\n    - Hyperliquid-specific endpoint (perpetual futures only)",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "OptionalNumericRange": {
                      "description": "Numeric range where from_value and to_value are optional,\nallowing for open-ended ranges (e.g., only minimum or only maximum).",
                      "properties": {
                        "from": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Minimum value (inclusive), optional"
                        },
                        "to": {
                          "anyOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Maximum value (inclusive), optional"
                        }
                      },
                      "type": "object"
                    },
                    "PerpLeaderboardRequest": {
                      "description": "Request for Hyperliquid perp leaderboard (flattened).",
                      "properties": {
                        "accountValue": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by account value (from/to)"
                        },
                        "date": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range"
                        },
                        "orderByDirection": {
                          "default": "DESC",
                          "description": "Sort order",
                          "enum": [
                            "asc",
                            "desc",
                            "ASC",
                            "DESC"
                          ],
                          "type": "string"
                        },
                        "order_by": {
                          "default": "totalPnl",
                          "description": "Sort field: totalPnl, accountValue, or roi",
                          "enum": [
                            "totalPnl",
                            "accountValue",
                            "roi"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        },
                        "roi": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by ROI (from/to)"
                        },
                        "totalPnl": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/OptionalNumericRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Filter by total PnL (from/to)"
                        }
                      },
                      "required": [
                        "date"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PerpLeaderboardRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "hyperliquid_leaderboard",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking Hyperliquid leaderboard"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get historical native coin & token balances of address.",
                "inputSchema": {
                  "$defs": {
                    "AddressHistoricalBalancesRequest": {
                      "description": "Complete request for address historical balances (flattened).",
                      "properties": {
                        "addresses": {
                          "anyOf": [
                            {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "List of wallet addresses to analyze. REQUIRED if entity_id is not provided. Cannot be used together with entity_id."
                        },
                        "chain": {
                          "default": "all",
                          "type": "string"
                        },
                        "entity_id": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Entity name to analyze (e.g., 'Binance', 'Paradigm Fund'). REQUIRED if addresses is not provided. Cannot be used together with addresses."
                        },
                        "lookbackDays": {
                          "$ref": "#/$defs/LookbackDays",
                          "default": 1,
                          "description": "Number of days to look back for historical balances"
                        },
                        "suspiciousFilter": {
                          "$ref": "#/$defs/SuspiciousFilter",
                          "default": "on",
                          "description": "Whether to exclude suspicious tokens"
                        }
                      },
                      "type": "object"
                    },
                    "LookbackDays": {
                      "description": "Lookback days for historical balance analysis.",
                      "enum": [
                        1,
                        7,
                        30,
                        90,
                        120,
                        365,
                        730,
                        999999
                      ],
                      "type": "integer"
                    },
                    "SuspiciousFilter": {
                      "description": "Options for filtering suspicious tokens.",
                      "enum": [
                        "on",
                        "off"
                      ],
                      "type": "string"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/AddressHistoricalBalancesRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "address_historical_balances",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking balance history"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get information about related addresses of an input address.\n\nNote: This only includes the the \"special\" connections 'First Funder', 'Signer', 'Previous Signer', 'Multisig Signer of', 'Previous Multisig Signer of', 'Deployed via', 'Deployed by', 'Deployed Contract', 'Created Contract', 'Created by'.\nTo get related wallets, also check address counterparties.\nFirst funder exchange withdrawal address does usually NOT belong to the same entity as the address, only deposit addresses. Only information is that it has been funded by the exchange.\n\nExamples:\n    # Query by addresses\n    request = AddressRelatedAddressesRequest(\n        addresses=[\"0x123...\", \"0x456...\"],\n        chain=\"all\"\n    )\n\nArgs:\n    request: AddressRelatedAddressesRequest containing parameters and pagination settings\n\nReturns:\n    Formatted related addresses data as markdown table, grouped by chain when chain=\"evm\"",
                "inputSchema": {
                  "$defs": {
                    "AddressRelatedAddressesRequest": {
                      "description": "Complete request for address related addresses (flattened).",
                      "properties": {
                        "addresses": {
                          "description": "List of wallet addresses to analyze for related addresses",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "chain": {
                          "default": "all",
                          "type": "string"
                        }
                      },
                      "required": [
                        "addresses"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/AddressRelatedAddressesRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "address_related_addresses",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Finding related wallets"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get 25 (per page) addresses or entities with the most common interactions with input addresses\nDefault sort is net value transferred between them.\nAlso returns the top 3 tokens transferred by count for each counterparty\n\nNote: To get related wallets:\n- Focus on direct value transfers to get most likely addresses.\n- Include CEX deposit addresses (not withdrawal addresses!) as well.\n- Also go one level deeper:\n    - Find addresses that interacted with the most likely addresses.\n    - Find addresses that deposited to the same CEX deposit (NOT withdrawal!) addresses.\n- Address structure / string is not important, but the relationship is!\n\nSorting Options (all fields support \"asc\"/\"desc\"):\n    Available for sorting: volOut, volIn, numTxOut, numTxIn, usdNetflow\n\nExamples:\n# Query by addresses with new type-safe sorting\n{\n    \"addresses\": [\"0x123...\"],\n    \"sourceInput\": \"Combined\",\n    \"groupBy\": \"wallet\",\n    \"chain\": \"ethereum\",\n    \"timeRange\": {\"from\": \"30D_AGO\", \"to\": \"NOW\"},\n    \"order_by\": \"usdNetflow\",\n    \"order_by_direction\": \"desc\"\n}\n\n# Query by entity\n{\n    \"entityId\": \"Binance\",\n    \"sourceInput\": \"Combined\",\n    \"groupBy\": \"entity\",\n    \"chain\": \"all\",\n    \"timeRange\": {\"from\": \"7D_AGO\", \"to\": \"NOW\"}\n}",
                "inputSchema": {
                  "$defs": {
                    "AddressCounterpartiesRequest": {
                      "description": "Complete request for address counterparties (flattened).",
                      "properties": {
                        "addresses": {
                          "anyOf": [
                            {
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "List of wallet addresses to analyze. REQUIRED if entity_id is not provided. Cannot be used together with entity_id."
                        },
                        "chain": {
                          "default": "all",
                          "type": "string"
                        },
                        "entity_id": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Entity name to analyze (e.g., 'Binance', 'Paradigm Fund'). REQUIRED if addresses is not provided. Cannot be used together with addresses."
                        },
                        "groupBy": {
                          "$ref": "#/$defs/GroupBy",
                          "default": "wallet",
                          "description": "Grouping method for counterparties analysis"
                        },
                        "order_by": {
                          "default": "usdNetflow",
                          "type": "string"
                        },
                        "order_by_direction": {
                          "default": "desc",
                          "enum": [
                            "asc",
                            "desc",
                            "ASC",
                            "DESC"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        },
                        "sourceInput": {
                          "$ref": "#/$defs/SourceInput",
                          "default": "Combined",
                          "description": "Source input type for counterparties analysis"
                        },
                        "timeRange": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for counterparties analysis"
                        }
                      },
                      "required": [
                        "timeRange"
                      ],
                      "type": "object"
                    },
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "GroupBy": {
                      "description": "Grouping methods for counterparties analysis.",
                      "enum": [
                        "wallet",
                        "entity"
                      ],
                      "type": "string"
                    },
                    "SourceInput": {
                      "description": "Source input types for counterparties analysis.",
                      "enum": [
                        "Combined",
                        "Tokens",
                        "ETH"
                      ],
                      "type": "string"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/AddressCounterpartiesRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "address_counterparties",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Analyzing wallet connections"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get list of 20 MOST RECENT transactions made by an address (per page).\nOnly the latest transactions according to the date range are returned.",
                "inputSchema": {
                  "$defs": {
                    "AddressTransactionsRequest": {
                      "description": "Complete request for address transactions (flattened).",
                      "properties": {
                        "address": {
                          "description": "Single address to analyze",
                          "type": "string"
                        },
                        "chain": {
                          "default": "evm",
                          "type": "string"
                        },
                        "hideSpamToken": {
                          "default": true,
                          "description": "Remove suspicious tokens from transaction list",
                          "type": "boolean"
                        },
                        "page": {
                          "default": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "address"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/AddressTransactionsRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "address_transactions",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Fetching transaction history"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get PnL stats for a specific token traded by the input address during a specific date range.\nUse this tool for analysing the performance of the wallet for the specific token over a time period.",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "WalletPnlForTokenRequest": {
                      "description": "Complete request for wallet PnL for token (flattened).",
                      "properties": {
                        "chain": {
                          "default": "evm",
                          "type": "string"
                        },
                        "dateRange": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for PnL analysis"
                        },
                        "showRealized": {
                          "description": "Set to true for realized PnL (completed/closed trades), false for current position analysis (unrealized PnL + active holdings)",
                          "type": "boolean"
                        },
                        "tokenAddress": {
                          "description": "Token address to generate PnL stats for",
                          "type": "string"
                        },
                        "walletAddress": {
                          "description": "The wallet address to analyze",
                          "type": "string"
                        }
                      },
                      "required": [
                        "walletAddress",
                        "tokenAddress",
                        "dateRange",
                        "showRealized"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/WalletPnlForTokenRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "wallet_pnl_for_token",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Calculating token performance"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get aggregate stats of overall realized PnL for the input address.\nNote, this tool DOES NOT include unrealized PnL.\nFor unrealized PnL you need to check change in token prices of the current holdings.\nUse this tool for analysing the performance of the wallet over a time period.\nYou can analyse the wallet portfolio performance over a specific time period.",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "WalletPnlSummaryRequest": {
                      "description": "Complete request for wallet PnL summary (flattened).",
                      "properties": {
                        "chain": {
                          "default": "evm",
                          "type": "string"
                        },
                        "dateRange": {
                          "$ref": "#/$defs/DateRange",
                          "description": "Date range for PnL summary analysis"
                        },
                        "walletAddress": {
                          "description": "The wallet address to analyze",
                          "type": "string"
                        }
                      },
                      "required": [
                        "walletAddress",
                        "dateRange"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/WalletPnlSummaryRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "wallet_pnl_summary",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Analyzing wallet performance"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get comprehensive portfolio overview for a wallet address or entity.\n\nHyperliquid perpetual positions include liquidation prices to support risk analysis workflows.\n\nFor wallet addresses, supports different modes:\n- 'fast-mode-default': Wallet balances + Hyperliquid positions (skip defi, for fast mode only)\n- 'all': Wallet balances + DeFi positions + Hyperliquid positions\n- 'wallet_balances': Only token balances (tokens and native coins across all chains)\n- 'defi': Only DeFi positions (lending, staking, LP tokens, etc., excluding Hyperliquid)\n- 'hyperliquid': Only Hyperliquid positions (perps include liquidation price, plus spot, staking, vault, free tokens)\n\nFor entities (e.g., \"Binance\", \"Paradigm Fund\"), only on-chain token balances\nare returned, aggregated across all addresses associated with the entity.\n\nThis tool provides flexible portfolio analysis in a single request,\nallowing users to focus on specific aspects of their holdings.\n\nThe output is pre-formatted markdown that should be presented exactly as returned,\npreserving all tables, sections, and formatting without reinterpretation.\n\nExample Usage:\n    Get full comprehensive portfolio for a wallet:\n    ```\n    {\n        \"walletAddress\": \"0x28c6c06298d514db089934071355e5743bf21d60\",\n        \"mode\": \"all\"\n    }\n    ```\n\n    Get only DeFi positions (returns raw JSON):\n    ```\n    {\n        \"walletAddress\": \"0x28c6c06298d514db089934071355e5743bf21d60\",\n        \"mode\": \"defi\"\n    }\n    ```\n\n    Get only Hyperliquid positions (returns raw JSON):\n    ```\n    {\n        \"walletAddress\": \"0x28c6c06298d514db089934071355e5743bf21d60\",\n        \"mode\": \"hyperliquid\"\n    }\n    ```\n\n    Get token balances for an entity:\n    ```\n    {\n        \"entity_id\": \"Binance\"\n    }\n    ```",
                "inputSchema": {
                  "$defs": {
                    "AddressPortfolioRequest": {
                      "description": "Complete request for Address Portfolio endpoint (flattened).\n\nIMPORTANT: Exactly one of 'wallet_address' or 'entity_id' must be provided (not both, not neither).",
                      "properties": {
                        "chain": {
                          "default": "all",
                          "type": "string"
                        },
                        "entity_id": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Entity name to analyze (e.g., 'Binance', 'Paradigm Fund'). For entities, only token balances are returned. REQUIRED if wallet_address is not provided. Cannot be used together with wallet_address."
                        },
                        "mode": {
                          "default": "fast-mode-default",
                          "description": "Portfolio mode: 'fast-mode-default' (default - wallet_balances + hyperliquid), 'all' (wallet_balances + defi + hyperliquid), 'wallet_balances' (only token balances), 'defi' (only DeFi positions), 'hyperliquid' (only Hyperliquid positions)",
                          "type": "string"
                        },
                        "walletAddress": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Wallet address to analyze comprehensive portfolio for. REQUIRED if entity_id is not provided. Cannot be used together with entity_id."
                        }
                      },
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/AddressPortfolioRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "address_portfolio",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Loading portfolio data"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "General search tool. This is your FIRST entry point to look up for possible tokens, entities, and addresses related to a query.\n\nDo NOT use this tool for prediction markets. For Polymarket names, topics,\nevent slugs, or URLs, use `prediction_market_lookup` instead.\n\nNansen MCP does not support NFTs, however check using this tool if the query relates to a token. Regular tokens and NFTs can have the same name.\n\nThis tool allows you to:\n- Check if a (fungible) token exists by name, symbol, or contract address\n- Search information about a token\n    - Current price in USD\n    - Trading volume\n    - Contract address and chain information\n    - Market cap and supply data when available\n- Search information about an entity\n- Find Nansen labels of an address (EOA) or resolve a domain (.eth, .sol)\n\nArgs:\n    query: The search term - token symbol, name, or address. DO NOT include chain name here!\n    result_type: Type filter - \"token\", \"entity\", \"eoa\", or \"any\"\n    max_results: Maximum number of results (default: 25, max: 25)\n    chain: Optional chain filter to narrow down token results to specific blockchain. If not further specified, leave it as None. If a chain is specified, ALWAYS use this parameter instead of adding chain name to the query string.\n           Valid values: \"ethereum\", \"solana\", \"base\", \"bnb\", \"polygon\", \"arbitrum\",\n           \"avalanche\", \"optimism\", etc.\n\nHow to choose result_type:\n- token: Use when searching for a token by name, symbol, or contract address.\n  **CRITICAL**: Use the `chain` parameter to filter by blockchain, NOT the query string!\n  \u2705 CORRECT: query=\"AAVE\", chain=\"base\"\n  \u274c WRONG: query=\"AAVE base\", chain=None\n- entity: Use when you want entity info by name/label (exchanges, funds, etc.)\n- eoa: Use when you have an address and need its labels or you have an ENS/SNS domain and need the resolved address\n- any: Mixed results (tokens/entities). Also auto-resolves ENS/SNS domains and, if token/entity results are empty and the query looks like an address, falls back to EOA labels.\n\nImportant:\n- This is the only tool that can resolve domains. If you start from a domain, pass the Resolved Address to other tools.\n- **DOMAINS**: Strings ending in `.eth` (ENS) or `.sol` (SNS) are DOMAIN NAMES, not tokens. Use result_type=\"eoa\" or \"any\" to resolve them.\n  Examples: \"vitalik.eth\", \"abracadabra.sol\", \"y22.eth\" are domains that resolve to addresses.\n- **DO NOT** ASSUME that token is a NFT, always verify the name by using this tool first.\n- **DO NOT** add keyword `token` or chain names to the query string, unless this is explicitly in the token name or symbol!\n- **Focus** on **popular chains** like ethereum, solana, base and bnb when no chain is specified and the same token is deployed on multiple chains.\n- **If a chain is specified**, use the `chain` parameter to filter tokens by blockchain instead of including chain in query.\n- **DO NOT** rely on this endpoint for LATEST prices as this is delayed. Use `token_ohlcv` for latest prices.",
                "inputSchema": {
                  "properties": {
                    "chain": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "max_results": {
                      "default": 25,
                      "type": "integer"
                    },
                    "query": {
                      "type": "string"
                    },
                    "result_type": {
                      "default": "any",
                      "enum": [
                        "token",
                        "entity",
                        "eoa",
                        "any"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "query"
                  ],
                  "type": "object"
                },
                "name": "general_search",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Searching onchain data"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get chain growth rankings by active addresses, transactions, gas fees and DEX volume.\n\nArgs:\n    request: GrowthChainRankRequest containing parameters and pagination settings\n\nReturns:\n    Formatted markdown table with chain growth metrics",
                "inputSchema": {
                  "$defs": {
                    "ChainType": {
                      "description": "Chain type options for growth ranking.",
                      "enum": [
                        "all",
                        "evm"
                      ],
                      "type": "string"
                    },
                    "GrowthChainRankRequest": {
                      "description": "Request for growth chain rank (flattened).",
                      "properties": {
                        "chain_type": {
                          "$ref": "#/$defs/ChainType",
                          "default": "all",
                          "description": "Type of chains to include in growth analysis"
                        },
                        "time_frame": {
                          "$ref": "#/$defs/GrowthTimeFrame",
                          "default": "7",
                          "description": "Time frame for growth analysis"
                        }
                      },
                      "type": "object"
                    },
                    "GrowthTimeFrame": {
                      "description": "Time frames for growth chain ranking analysis.",
                      "enum": [
                        "7",
                        "30",
                        "365"
                      ],
                      "type": "string"
                    }
                  },
                  "properties": {
                    "request": {
                      "$ref": "#/$defs/GrowthChainRankRequest"
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "growth_chain_rank",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking blockchain rankings"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Get comprehensive transaction details including token transfers.\n\nArgs:\n    request: TransactionLookupRequest containing parameters and pagination settings\n\nReturns:\n    Formatted markdown table with transaction details and token transfers",
                "inputSchema": {
                  "properties": {
                    "transaction_hash": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "transaction_hash"
                  ],
                  "type": "object"
                },
                "name": "transaction_lookup",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Looking up transaction details"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Search Polymarket for events and markets by name, topic, URL, or slug.\n\n**PM building blocks:**\n- An **event** is a grouped prediction topic containing many child markets.\n- A **market** is one tradable outcome with its own `marketId`.\n- Example: `2026 NCAA Tournament Winner` is an event; `Will Duke win the\n  2026 NCAA Tournament?` is a market. Detail tools require `marketId`,\n  not `eventId`.\n\n**When to use:**\n- First tool when the user asks about a specific PM topic, event, slug, or\n  Polymarket URL but does not provide `marketId`.\n- Optionally provide `queryVariant` as a cleaner short keyword version.\n- Set `includeEventMarkets` to true to also return child markets for the\n  best-matching event.\n- Do NOT use `general_search` for prediction markets.\n- Results include current outcome prices, last trade price, and bid/ask\n  inline \u2014 for a quick probability check you may not need\n  `prediction_market_ohlcv`. For price *history* or dated moves, still\n  use `prediction_market_ohlcv`.\n\n**Query tips:**\n- Uses Polymarket's search API \u2014 natural language queries work well.\n- Prefer short 1\u20133 keyword queries for best results.\n- Avoid broad multi-topic queries like `bitcoin ethereum politics`.\n\n**Output rules:**\n- If lookup returns no suitable market or a mismatched timeframe, say so\n  explicitly \u2014 do not silently substitute a nearby market.",
                "inputSchema": {
                  "$defs": {
                    "PredictionMarketLookupRequest": {
                      "description": "Request for resolving prediction market names, events, slugs, or URLs.",
                      "properties": {
                        "includeEventMarkets": {
                          "default": true,
                          "description": "When true, also include child markets for the best-matching event. Useful for event-level questions where market detail tools need the full market slate.",
                          "type": "boolean"
                        },
                        "maxCandidates": {
                          "default": 5,
                          "description": "Maximum number of market and event candidates to return.",
                          "maximum": 10,
                          "minimum": 1,
                          "type": "integer"
                        },
                        "maxEventMarkets": {
                          "default": 12,
                          "description": "Maximum number of child markets to show when includeEventMarkets is true. The output always states how many of the event's total markets are shown.",
                          "maximum": 50,
                          "minimum": 1,
                          "type": "integer"
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        },
                        "query": {
                          "description": "Prediction market name, topic, Polymarket URL, or URL slug to resolve to candidate market IDs.",
                          "minLength": 1,
                          "type": "string"
                        },
                        "queryVariant": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional second short query variant to search alongside query, such as a cleaner keyword version of a slug."
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": "active",
                          "description": "Optional lifecycle filter for markets/events. Defaults to 'active'. Use 'all' to include closed markets."
                        }
                      },
                      "required": [
                        "query"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketLookupRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_lookup",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Looking up prediction market"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Browse and sort Polymarket markets, events, or categories.\n\n**When to use:**\n- Broad discovery, screening, and ranked browsing across many markets.\n- Do NOT use this to resolve one named market/event/slug/URL \u2014 use\n  `prediction_market_lookup` instead.\n\n**Query tips:**\n- Literal-style matching on text and slugs, not fuzzy web search.\n- Prefer one short topic or slug fragment (e.g. `fed cuts`, `zelensky`,\n  `ncaa tournament`).\n- Do not bundle unrelated topics (e.g. `bitcoin ethereum politics\n  weather`). If a broad question spans several topics, run separate\n  screener queries for each.\n- If a query returns no rows, do not invent a nearest match \u2014 try a\n  narrower topic or say no data was returned.\n\n**Output rules:**\n- Superlatives (highest, leading, biggest, top, trending) must match the\n  shown metric exactly.\n- Do not infer end dates, rankings, or category leadership from titles\n  alone.",
                "inputSchema": {
                  "$defs": {
                    "PredictionMarketScreenerRequest": {
                      "description": "Request for prediction market discovery tools.",
                      "properties": {
                        "mode": {
                          "default": "markets",
                          "description": "Discovery mode. Use 'markets' to screen individual markets, 'events' to screen grouped events, and 'categories' for category level aggregated stats.",
                          "enum": [
                            "markets",
                            "events",
                            "categories"
                          ],
                          "type": "string"
                        },
                        "orderBy": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional sort field for markets/events. Common fields: volume24h, volume, volume1w, volume1m, liquidity, openInterest, uniqueTraders24h, ageHours."
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        },
                        "query": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional text query for filtering markets/events by keyword."
                        },
                        "status": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional lifecycle filter for markets/events. Common values: 'active', 'open', 'closed', or 'all'."
                        }
                      },
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketScreenerRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_screener",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Screening prediction markets"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Historical odds/volume candles for a Polymarket market.\n\n**When to use:**\n- Current odds / implied probability, price history, and recent\n  probability changes on a specific market.\n\n**Key fields:**\n- `Close` is the share price for the displayed outcome side.\n- In binary markets, Yes and No shares are complementary and sum to\n  about $1.\n\n**Pitfalls:**\n- Each response is for one exact `marketId` \u2014 do not mix dates or prices\n  across different markets.\n- If no candles are returned for the requested window, say so directly \u2014\n  do not estimate.\n\n**Prerequisites:** If `marketId` is unknown, call\n`prediction_market_lookup` first.",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "PredictionMarketOhlcvRequest": {
                      "description": "Request for historical prediction market OHLCV.",
                      "properties": {
                        "dateRange": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/DateRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional date range for OHLCV. Defaults to the last 30 days when omitted."
                        },
                        "marketId": {
                          "description": "Numeric Polymarket market ID (e.g. '654412'). Obtain this from the prediction_market_screener tool.",
                          "maxLength": 100,
                          "minLength": 1,
                          "type": "string"
                        },
                        "orderBy": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional sort field. Common fields: periodStart, volumeUsd, tradeCount."
                        },
                        "orderByDirection": {
                          "default": "desc",
                          "description": "Sort direction when orderBy is provided.",
                          "enum": [
                            "asc",
                            "desc",
                            "ASC",
                            "DESC"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "marketId"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketOhlcvRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_ohlcv",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Loading prediction market prices"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Live orderbook for a Polymarket market.\n\n**When to use:**\n- Bid/ask depth, liquidity, and yes-share / no-share order structure.\n\n**Key fields:**\n- `Order Size` is share quantity, not USD. Do not describe share size as\n  dollar depth unless you calculate `shares \u00d7 price`.\n\n**Yes/No price relationship:**\n- Yes and No are complementary (Yes + No \u2248 $1). A No bid at price $X\n  means willingness to buy No when Yes is near $(1\u2212X).\n- A cluster of No bids at low prices (e.g. $0.20) is resistance for Yes\n  rallying to ~$0.80, NOT a support floor for the current Yes price.\n- When comparing OHLCV odds against orderbook depth, convert No-side\n  prices to Yes-equivalent (1 \u2212 No price) before drawing divergence\n  conclusions.\n\n**Pitfalls:**\n- Do not treat raw no-share prices as bearish yes-share odds \u2014 prefer\n  `prediction_market_ohlcv` for current odds / implied probability.\n\n**Prerequisites:** If `marketId` is unknown, call\n`prediction_market_lookup` first.",
                "inputSchema": {
                  "$defs": {
                    "PredictionMarketOrderbookRequest": {
                      "description": "Request for a live prediction market orderbook.",
                      "properties": {
                        "marketId": {
                          "description": "Numeric Polymarket market ID (e.g. '654412'). Obtain this from the prediction_market_screener tool.",
                          "maxLength": 100,
                          "minLength": 1,
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "marketId"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketOrderbookRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_orderbook",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking prediction market orderbook"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Largest current holders for a Polymarket market.\n\n**Key fields:**\n- Positions are share balances, not USD notional.\n- `Position Value USD` is current marked value, not payout at resolution.\n- `Side Held` is the share side currently held.\n\n**Pitfalls:**\n- The visible holder table is the source of truth for holder-side\n  concentration \u2014 do not infer risk, max loss, or potential profit unless\n  the tool output explicitly provides it.\n- Output summary is based only on shown rows, not the entire holder table.\n- Large visible positions or labels do not by themselves identify smart\n  money unless Nansen smart-money-labelled data supports it.\n\n**Prerequisites:** If `marketId` is unknown, call\n`prediction_market_lookup` first.",
                "inputSchema": {
                  "$defs": {
                    "PredictionMarketTopHoldersRequest": {
                      "description": "Request for prediction market top holders.",
                      "properties": {
                        "marketId": {
                          "description": "Numeric Polymarket market ID (e.g. '654412'). Obtain this from the prediction_market_screener tool.",
                          "maxLength": 100,
                          "minLength": 1,
                          "type": "string"
                        },
                        "orderBy": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional sort field. Common fields: positionSize, unrealizedPnlUsd, avgEntryPrice."
                        },
                        "orderByDirection": {
                          "default": "desc",
                          "description": "Sort direction when orderBy is provided.",
                          "enum": [
                            "asc",
                            "desc",
                            "ASC",
                            "DESC"
                          ],
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "marketId"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketTopHoldersRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_top_holders",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Finding prediction market top holders"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Recent trades for a Polymarket market.\n\n**When to use:**\n- Source of truth for recent fills and latest trade-tape pricing.\n- Do not overwrite recent trade prices with older OHLCV candles.\n\n**Key fields:**\n- `Share Size` is quantity; `Value USD` is dollar value.\n- Each row is one visible trade leg \u2014 `Value USD` applies to that row,\n  not the whole transaction hash.\n\n**Pitfalls:**\n- Large visible trades do not by themselves identify smart money or\n  institutions.\n\n**Prerequisites:** If `marketId` is unknown, call\n`prediction_market_lookup` first.",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "PredictionMarketTradesRequest": {
                      "description": "Request for recent market trades.",
                      "properties": {
                        "dateRange": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/DateRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional date range for market trades. Defaults to the last 7 days."
                        },
                        "marketId": {
                          "description": "Numeric Polymarket market ID (e.g. '654412'). Obtain this from the prediction_market_screener tool.",
                          "maxLength": 100,
                          "minLength": 1,
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "marketId"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketTradesRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_trades",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking prediction market trades"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "PnL leaderboard for a Polymarket market.\n\n**When to use:**\n- Only for profitability claims.\n\n**Key fields:**\n- `Side Held` reflects current side exposure where the API provides it.\n\n**Pitfalls:**\n- If PnL fields are blank, say profitability is unavailable \u2014 do not\n  substitute top holders or position size.\n\n**Prerequisites:** If `marketId` is unknown, call\n`prediction_market_lookup` first.",
                "inputSchema": {
                  "$defs": {
                    "PredictionMarketPnlLeaderboardRequest": {
                      "description": "Request for market-level PnL leaderboard.",
                      "properties": {
                        "marketId": {
                          "description": "Numeric Polymarket market ID (e.g. '654412'). Obtain this from the prediction_market_screener tool.",
                          "maxLength": 100,
                          "minLength": 1,
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "marketId"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketPnlLeaderboardRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_pnl_leaderboard",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking prediction market PnL leaders"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Detailed position breakdown for a Polymarket market.\n\n**Key fields:**\n- `Position Size (Shares)` is quantity held in this market.\n- `Position Value USD` is current marked value, not final payout at\n  resolution.\n- `Cost Basis USD` and `Unrealized PnL USD` apply to the displayed row\n  only \u2014 not the wallet's total PM activity.\n\n**Prerequisites:** If `marketId` is unknown, call\n`prediction_market_lookup` first.",
                "inputSchema": {
                  "$defs": {
                    "PredictionMarketPositionDetailRequest": {
                      "description": "Request for detailed market positions.",
                      "properties": {
                        "marketId": {
                          "description": "Numeric Polymarket market ID (e.g. '654412'). Obtain this from the prediction_market_screener tool.",
                          "maxLength": 100,
                          "minLength": 1,
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "marketId"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketPositionDetailRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_position_detail",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Loading prediction market position"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Prediction market trade history for a Polygon wallet.\n\n**Key fields:**\n- `Share Size` is quantity traded in the displayed outcome side.\n- `Value USD` applies to that row only, not the whole transaction.\n\n**Pitfalls:**\n- Use this for wallet trade activity, not profitability.",
                "inputSchema": {
                  "$defs": {
                    "DateRange": {
                      "description": "Date range via tokens or dates.\nTokens: NOW, XMIN_AGO, XD_AGO, XH_AGO; THIS_YEAR_START, THIS_QUARTER_START, THIS_MONTH_START, THIS_WEEK_START, TODAY_START; LAST_WEEK_START/END, LAST_MONTH_START/END, LAST_QUARTER_START/END, LAST_YEAR_START/END.\nWeek starts Monday. Quarters are calendar. Dates: YYYY-MM-DD or ___-MM-DD (year omitted).\nPlease check detailed system instructions for more information.",
                      "properties": {
                        "from": {
                          "description": "Start value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        },
                        "to": {
                          "description": "End value: token (see above) or date (YYYY-MM-DD or ___-MM-DD).",
                          "type": "string"
                        }
                      },
                      "required": [
                        "from",
                        "to"
                      ],
                      "type": "object"
                    },
                    "PredictionMarketAddressTradesRequest": {
                      "description": "Request for address-level prediction market trades.",
                      "properties": {
                        "address": {
                          "description": "Polygon wallet address to analyze.",
                          "type": "string"
                        },
                        "dateRange": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/DateRange"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Optional date range for address trades. Defaults to the last 30 days."
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "address"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketAddressTradesRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_address_trades",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking prediction market address trades"
              },
              {
                "_meta": {
                  "_fastmcp": {
                    "tags": []
                  }
                },
                "description": "Prediction market PnL breakdown for a Polygon wallet.\n\n**Key fields:**\n- Market-by-market PnL when the API provides it.\n- Blank PnL fields mean unavailable data, not zero.\n- `Position Size (Shares)` is quantity; `Position Value USD` is current\n  marked value.",
                "inputSchema": {
                  "$defs": {
                    "PredictionMarketAddressPnlRequest": {
                      "description": "Request for address-level prediction market PnL.",
                      "properties": {
                        "address": {
                          "description": "Polygon wallet address to analyze.",
                          "type": "string"
                        },
                        "page": {
                          "default": 1,
                          "description": "Page number for paginated results.",
                          "minimum": 1,
                          "type": "integer"
                        }
                      },
                      "required": [
                        "address"
                      ],
                      "type": "object"
                    }
                  },
                  "properties": {
                    "request": {
                      "anyOf": [
                        {
                          "additionalProperties": true,
                          "type": "object"
                        },
                        {
                          "$ref": "#/$defs/PredictionMarketAddressPnlRequest"
                        }
                      ]
                    }
                  },
                  "required": [
                    "request"
                  ],
                  "type": "object"
                },
                "name": "prediction_market_address_pnl",
                "outputSchema": {
                  "properties": {
                    "result": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "result"
                  ],
                  "type": "object",
                  "x-fastmcp-wrap-result": true
                },
                "title": "Checking prediction market address PnL"
              }
            ]
          }
        },
        "url": "https://mcp.nansen.ai/ra/mcp/"
      },
      "latency_ms": 98.07,
      "status": "ok"
    },
    "transport_compliance_probe": {
      "details": {
        "bad_protocol_error": null,
        "bad_protocol_headers": {
          "content-type": "application/json"
        },
        "bad_protocol_payload": {
          "error": {
            "code": -32600,
            "message": "Bad Request: Unsupported protocol version: 1999-99-99. Supported versions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25"
          },
          "id": "server-error",
          "jsonrpc": "2.0"
        },
        "bad_protocol_status_code": 400,
        "delete_error": null,
        "delete_status_code": null,
        "expired_session_error": null,
        "expired_session_status_code": null,
        "issues": [
          "missing_session_id",
          "missing_protocol_header"
        ],
        "last_event_id_visible": false,
        "protocol_header_present": false,
        "requested_protocol_version": "2025-03-26",
        "session_id_present": false,
        "transport": "streamable-http"
      },
      "latency_ms": 92.92,
      "status": "warning"
    },
    "utility_coverage_probe": {
      "details": {
        "completions": {
          "advertised": false,
          "live_probe": "not_executed",
          "sample_target": null
        },
        "initialize_capability_keys": [
          "experimental",
          "prompts",
          "resources",
          "tasks",
          "tools"
        ],
        "pagination": {
          "metadata_signal": false,
          "next_cursor_methods": [],
          "supported": false
        },
        "tasks": {
          "advertised": true,
          "http_status": 200,
          "probe_status": "ok"
        }
      },
      "latency_ms": 63.88,
      "status": "ok"
    }
  },
  "failures": {
    "oauth_authorization_server": {
      "reason": "no_authorization_server"
    },
    "oauth_protected_resource": {
      "error": "Client error '404 Not Found' for url 'https://mcp.nansen.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
      "url": "https://mcp.nansen.ai/.well-known/oauth-protected-resource"
    },
    "openid_configuration": {
      "reason": "no_authorization_server"
    },
    "server_card": {
      "error": "Client error '404 Not Found' for url 'https://mcp.nansen.ai/.well-known/mcp/server-card.json'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
      "url": "https://mcp.nansen.ai/.well-known/mcp/server-card.json"
    }
  },
  "remote_url": "https://mcp.nansen.ai/ra/mcp/",
  "server_card_payload": null,
  "server_identifier": "io.github.nansen-ai/nansen-mcp"
}

Known versions

Validation history

7 day score delta
+0.0
30 day score delta
+0.0
Recent healthy ratio
100%
Freshness
605.1h
TimestampStatusScoreLatencyTools
Apr 09, 2026 12:46:25 AM UTC Healthy 75.5 953.5 ms 35
Apr 08, 2026 12:44:27 AM UTC Healthy 75.5 2115.7 ms 35
Apr 07, 2026 12:42:54 AM UTC Healthy 75.5 1053.6 ms 35
Apr 06, 2026 12:39:57 AM UTC Healthy 75.5 936.4 ms 35
Apr 05, 2026 12:37:47 AM UTC Healthy 75.5 912.0 ms 35
Apr 04, 2026 12:36:50 AM UTC Healthy 75.5 2517.4 ms 35
Apr 03, 2026 12:32:08 AM UTC Healthy 75.5 1030.7 ms 35
Apr 02, 2026 12:20:17 AM UTC Healthy 74.5 1187.4 ms 35

Validation timeline

ValidatedSummaryScoreProtocolAuth modeToolsHigh-risk toolsChanges
Apr 09, 2026 12:46:25 AM UTC Healthy 75.5 2025-03-26 public 35 2 none
Apr 08, 2026 12:44:27 AM UTC Healthy 75.5 2025-03-26 public 35 2 none
Apr 07, 2026 12:42:54 AM UTC Healthy 75.5 2025-03-26 public 35 2 none
Apr 06, 2026 12:39:57 AM UTC Healthy 75.5 2025-03-26 public 35 2 none
Apr 05, 2026 12:37:47 AM UTC Healthy 75.5 2025-03-26 public 35 2 none
Apr 04, 2026 12:36:50 AM UTC Healthy 75.5 2025-03-26 public 35 2 none
Apr 03, 2026 12:32:08 AM UTC Healthy 75.5 2025-03-26 public 35 2 none
Apr 02, 2026 12:20:17 AM UTC Healthy 74.5 2025-03-26 public 35 2 tool_snapshot_changed
Mar 31, 2026 11:43:15 PM UTC Healthy 75.0 2025-03-26 public 34 2 none
Mar 30, 2026 11:34:27 PM UTC Healthy 75.5 2025-03-26 public 34 2 none
Mar 29, 2026 11:21:29 PM UTC Healthy 75.5 2025-03-26 public 34 2 none
Mar 28, 2026 10:02:59 PM UTC Healthy 75.5 2025-03-26 public 34 2 none

Recent validation runs

StartedStatusSummaryLatencyChecks
Apr 09, 2026 12:46:24 AM UTC Completed Healthy 953.5 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 08, 2026 12:44:25 AM UTC Completed Healthy 2115.7 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 07, 2026 12:42:53 AM UTC Completed Healthy 1053.6 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 06, 2026 12:39:56 AM UTC Completed Healthy 936.4 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 05, 2026 12:37:46 AM UTC Completed Healthy 912.0 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 04, 2026 12:36:47 AM UTC Completed Healthy 2517.4 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 03, 2026 12:32:07 AM UTC Completed Healthy 1030.7 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 02, 2026 12:20:15 AM UTC Completed Healthy 1187.4 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Mar 31, 2026 11:43:14 PM UTC Completed Healthy 827.2 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Mar 30, 2026 11:34:26 PM UTC Completed Healthy 928.9 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe