Skip to main content
Glama
tehironclad

Dysnomia Ecosystem Navigator — MCP Server

by tehironclad

Dysnomia Ecosystem Navigator — MCP Server

An MCP (Model Context Protocol) server that gives AI assistants direct access to the Dysnomia/Atropa blockchain ecosystem on PulseChain. Ask Claude about contract state, debug transactions, trace minters, and map the entire ecosystem graph — all from natural language.

Tools

Tool

Description

list_ecosystem

List all registered contracts with categories and descriptions

get_contract_state

Read on-chain state — balances, supply, ownership, minting status

trace_minter

Trace a minter address across all ecosystem contracts

query_qing

Look up QING territory data — ownership, metadata

debug_call

Simulate contract calls to surface reverts before spending gas

map_relationships

Map ownership and dependency graph between contracts

search_events

Query on-chain event logs filtered by contract, event, block range

Related MCP server: SEI MCP Server V2

Setup

# Install dependencies
npm install

# Build
npm run build

Configuration

1. Add Contract Addresses

Edit src/config.ts and fill in the deployed addresses:

META:  { address: "0x...", category: "core",  description: "Root coordination contract" },
RING:  { address: "0x...", category: "core",  description: "Ring structure / orbital mechanics" },
// etc.

Rebuild after changes: npm run build

2. Custom RPC

Set the PULSECHAIN_RPC environment variable to override the default RPC:

export PULSECHAIN_RPC="https://your-rpc-endpoint.com"

3. Extend ABIs

Each tool file in src/tools/ has its own ABI definitions. Add function signatures as contracts evolve — the pattern is human-readable ABI strings:

const MY_ABI = [
  "function MyNewFunction(uint256) view returns (address)",
];

Connect to Claude Desktop

Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):

{
  "mcpServers": {
    "dysnomia": {
      "command": "node",
      "args": ["/absolute/path/to/dysnomia-navigator/build/index.js"],
      "env": {
        "PULSECHAIN_RPC": "https://rpc.pulsechain.com"
      }
    }
  }
}

Connect to Claude Code

claude mcp add dysnomia node /absolute/path/to/dysnomia-navigator/build/index.js

Test with MCP Inspector

npm run inspector

Architecture

src/
├── index.ts          # Entry point — creates server, registers tools
├── config.ts         # RPC config, contract registry, ABIs, helpers
└── tools/
    ├── listEcosystem.ts      # list_ecosystem
    ├── getContractState.ts   # get_contract_state
    ├── traceMinter.ts        # trace_minter
    ├── queryQing.ts          # query_qing
    ├── debugCall.ts          # debug_call
    ├── mapRelationships.ts   # map_relationships
    └── searchEvents.ts       # search_events

Extending

To add a new tool:

  1. Create src/tools/myNewTool.ts

  2. Export a registerMyNewTool(server: McpServer) function

  3. Import and call it in src/index.ts

  4. Rebuild: npm run build

The server uses stdio transport so it works with any MCP-compatible client.

Phases (for context)

  • Terra: Forming data on minters — physics actions per-QING build minter token data

  • Firma: Personal GWATs establishing territory

  • Life: IoT hardware + YUE extensions creating real-world activity sandboxes

Available Tools

7 tools
debug_callA

Simulate a contract call (eth_call) without sending a transaction. Surfaces revert reasons, out-of-gas, division-by-zero, and other errors BEFORE you spend gas. Great for debugging Beat() and other state-changing functions.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoFunction arguments as strings (will be auto-encoded)
valueNoETH/PLS value to send (in wei)
contractYesContract name or address
from_addressNoSimulate as if calling from this address
function_sigYesFunction signature, e.g. 'Beat()' or 'transfer(address,uint256)'

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the tool simulates without sending a transaction, surfaces revert reasons, out-of-gas, division-by-zero, and other errors, and emphasizes that this happens before gas is spent. This provides good insight into the tool's non-mutating, diagnostic nature, though it does not describe the exact return format or all possible error behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with two sentences that lead with the core action and value proposition, then follow with a specific use case. Every word adds value, and the structure is front-loaded for quick agent comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and no output schema, the description covers the essential information: what it does, when to use it, and the kind of errors it surfaces. It lacks a mention of the return value or how to interpret successful vs. failed simulations, but given the sibling tools and the straightforward nature of eth_call simulation, this is a minor gap. The description is sufficient for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides descriptions for all 5 parameters with 100% coverage, so the baseline is 3. The tool description does not add extra meaning to the parameters beyond what the schema already explains; it only gives an example usage (Beat()) without detailing parameter syntax or nuances.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: simulating a contract call (eth_call) without sending a transaction. It specifies the resource (contract call) and the purpose (surfacing errors before gas is spent), and it distinguishes itself from sibling tools (which handle mapping, ecosystem listing, state retrieval, tracing, querying, and event search) by focusing on debugging and simulation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: it is meant for debugging state-changing functions like Beat() and for checking for errors before spending gas. However, it does not explicitly mention when not to use it or name alternative tools, though the context implies it is for pre-transaction validation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_contract_stateA

Read the current on-chain state of any Dysnomia contract — balances, supply, ownership, minting status. Accepts a contract name (META, RING, etc.) or raw address.

ParametersJSON Schema
NameRequiredDescriptionDefault
contractYesContract name (META, RING, PANG, QING, LAU, YUE, GWAT) or a raw 0x address
target_addressNoOptional address to check balanceOf

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It correctly indicates the operation is a read (non-destructive), but it does not mention any potential side effects, access requirements, or limitations (e.g., whether the tool is callable without authentication). It also does not describe the return format or behavior when a target_address is supplied, which is a minor gap for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the primary purpose and then elaborating on accepted inputs. It contains no filler or redundant information, making it highly efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential context: what the tool does, what inputs it accepts, and its scope ('any Dysnomia contract'). Given the simple parameter structure (one required, one optional) and the absence of an output schema, the description is mostly complete. It could mention the return shape, but the stated purpose implies a state snapshot, so it is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (contract and target_address) are already documented in the schema. The description adds a minor clarification by noting that contract can be a name or raw address, but it does not provide any additional semantics beyond what the schema already states. The baseline of 3 applies since the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: reading current on-chain state (balances, supply, ownership, minting status) of any Dysnomia contract. It specifies the verb 'Read' and the resource, and distinguishes it from siblings like debug_call or trace_minter by focusing on state reading rather than execution or tracing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or scenarios where a sibling tool would be more appropriate, leaving the agent to infer usage solely from the general 'read' intent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ecosystemA

List all known Dysnomia ecosystem contracts with their addresses, categories, and descriptions. Good starting point for exploration.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. 'List' reasonably implies a read-only operation, and the returned fields are disclosed, but there is no explicit statement about side effects, pagination, or output size. For a simple listing tool this is acceptable but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and resource, followed by a useful usage hint. No redundant or filler wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter exploration tool with no output schema, the description adequately states what it lists and its intended use. It could mention pagination or format, but 'all known' and the listed fields give enough context for a correct call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds relevant meaning by enumerating what the result will contain (addresses, categories, descriptions), which is the main semantic content an agent needs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('all known Dysnomia ecosystem contracts'), and specifies the returned fields: addresses, categories, and descriptions. The phrase 'Good starting point for exploration' helps distinguish it from more targeted sibling tools like get_contract_state or search_events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for initial exploration, but it does not explicitly state when to use it versus alternatives, nor does it mention exclusions. The 'good starting point' line gives context but leaves the decision to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

map_relationshipsB

Map the dependency and ownership relationships between Dysnomia contracts. Shows which contracts own, mint for, or reference each other — useful for understanding the ecosystem graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
contractNoFocus on a specific contract name or address. Omit to map ALL known contracts.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what the tool reveals (relationships) but does not mention whether it is read-only, whether it has side effects, or what the output format looks like (e.g., list, graph, summary). It does not disclose any limitations or performance characteristics. The description gives a functional overview but omits behavioral traits that would be important for an agent to predict side effects or interpret results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences, front-loading the primary action ('Map the dependency and ownership relationships') before adding clarifying details. Every clause earns its place—the second sentence specifies what is shown and why it is useful. There is no redundant wording or excessive length, making it efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that maps a potentially complex graph of relationships, the description is minimal. It lacks any indication of the output structure (e.g., does it return a list, a tree, a diagram?), which would be crucial for an agent to know how to consume the result. It also does not clarify whether the output is limited to direct relationships or includes transitive ones, nor does it specify the level of detail. Given that there is no output schema and no annotations, the description should have compensated with more detail about expected results, but it does not. This leaves the agent with an incomplete picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the single optional parameter 'contract' with 100% coverage, explaining that omitting it maps all contracts. The description itself does not add any further parameter-level guidance—it never mentions the parameter. Since the schema fully covers the parameter semantics, the description earns the baseline score of 3; it neither adds nor detracts from what is already documented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Map' and the specific resource: 'dependency and ownership relationships between Dysnomia contracts.' It elaborates with concrete details ('which contracts own, mint for, or reference each other') and gives a practical use case ('useful for understanding the ecosystem graph'). This distinguishes it from siblings like list_ecosystem (which likely lists contracts) and get_contract_state (which fetches state), so purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides some context ('useful for understanding the ecosystem graph') but does not explicitly state when to use this tool versus alternatives. It does not mention when not to use it or point to sibling tools. While the focus on relationships is implied, there is no explicit routing guidance, leaving the agent to infer its niche among the listed siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_qingA

Look up QING territory data — ownership, state, metadata. Can query by territory ID or by owner address to find all their territories.

ParametersJSON Schema
NameRequiredDescriptionDefault
territory_idNoNumeric territory/token ID to look up
owner_addressNoAddress to check QING holdings for

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. The verb 'look up' implies a read-only, non-destructive operation, but it does not explicitly state that it does not modify data or have side effects. It also does not mention any auth, rate limits, or edge-case behaviors. The implication is clear, but a stronger declaration would have been more transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary purpose and then detailing the query options. There is no fluff, and every clause adds value. It is easy to scan and immediately understand what the tool does and how to invoke it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with two optional parameters and no output schema, the description covers the essential behavior and query modes. However, it does not specify what happens if both parameters are provided (e.g., is it an OR or AND condition) or if no parameters are given, nor does it mention pagination or result limits. These are minor gaps given the tool's simplicity, but they would be useful for an agent to know.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive parameter names, but the description adds meaningful context by explaining the two query modes and that owner_address returns multiple territories. This goes beyond the schema's simple 'check holdings' description and clarifies the relationship between the parameters, which helps the agent decide which one to supply.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('look up'), a clear resource ('QING territory data'), and enumerates the aspects returned (ownership, state, metadata). It also names the two query modes (by territory ID or by owner address), making it distinct from sibling tools that handle different functions like debugging or tracing. No ambiguity exists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the two ways to use the tool (by territory ID or by owner address) and clarifies that owner address returns all territories for that owner. However, it does not explicitly contrast this tool with alternatives or state when not to use it. Given that none of the siblings overlap with this querying task, the implicit usage context is sufficient but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_eventsB

Search on-chain event logs across Dysnomia contracts. Filter by contract, event topic, address, or block range. Useful for tracking minting activity, transfers, Beat() calls, and terraforming events.

ParametersJSON Schema
NameRequiredDescriptionDefault
contractNoContract name or address to filter logs from
to_blockNoEnd block number (default: latest)
from_blockNoStart block number (default: latest - 1000)
max_resultsNoMax logs to return (default: 50)
topic_filterNoAdditional topic hash to filter by (e.g. an address as topic)
event_signatureNoEvent signature to filter by, e.g. 'Transfer(address,address,uint256)'

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must carry the full behavioral disclosure burden. It describes the operation as a search (implying read-only) but does not explicitly state that it has no side effects, requires no special permissions, or how results are returned. It also doesn't mention pagination or rate limits. The description adds some behavioral context (filters by contract, event topic, etc.) but omits crucial transparency about the operation's nature and constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long with zero waste. The first sentence states the primary action and filtering options; the second provides concrete use cases. It is front-loaded with the core purpose and gives actionable context. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no output schema and no annotations, the description covers the essential context: what it searches, what filters are available, and when it's useful. It doesn't explain the return format or pagination, but for a search operation that's less critical. The sibling tools are not referenced, but the description is clear enough that an agent can decide when to invoke it. It is reasonably complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is described in the schema. The description adds a grouping of filters ('contract, event topic, address, or block range') that maps to the parameters but doesn't add significant new meaning beyond the schema. For example, it mentions 'address' which corresponds to topic_filter, but the schema already explains that. The baseline for high schema coverage is 3, and the description provides a slight overview without deepening understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search on-chain event logs across Dysnomia contracts.' It identifies the verb (search), resource (event logs), and scope (Dysnomia contracts). It also gives concrete use cases (tracking minting, transfers, Beat() calls, terraforming events), which helps distinguish it from siblings like debug_call or get_contract_state. It doesn't explicitly name alternatives, but the purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use the tool ('Useful for tracking minting activity, transfers, Beat() calls, and terraforming events'), but it does not explicitly state when NOT to use it or mention alternative tools. The guidance is implied rather than explicit, and there are no exclusions or comparisons to siblings. This meets the 'implied usage' level but not the higher tiers that require explicit routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trace_minterA

Trace a minter address across the Dysnomia ecosystem — check its terraforming status, linked tokens, balances in each core contract, and progression toward apparition.

ParametersJSON Schema
NameRequiredDescriptionDefault
minter_addressYesThe minter address to trace (0x...)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It states what it checks but does not explicitly say whether it is a read-only operation, if it has side effects, or if it requires special permissions. The word 'trace' implies observation, but this is not explicit. There is no mention of performance, data volume, or any potential cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the purpose and the key checks. It contains no fluff, is easy to scan, and every phrase adds value. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has only one parameter and no output schema. The description lists what it checks but does not specify the return format or whether it returns a summary, detailed report, or a list. For a trace tool, this is a notable gap, but the low complexity (1 param) mitigates it. It is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameter is already documented. The description does not add any additional meaning to the parameter beyond what the schema provides, such as format constraints or usage examples. Baseline 3 is appropriate given full schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (trace) and the resource (a minter address), and enumerates the specific aspects it checks (terraforming status, linked tokens, balances, progression). This is specific and distinguishes it from siblings like get_contract_state or map_relationships, which target different concerns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly communicates when to use it (when you need to trace a minter address across the ecosystem). However, it does not explicitly contrast with alternatives or state when not to use it, lacking exclusionary guidance. The context is clear but no exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.1.0
    • First observeddebug_call
    • First observedget_contract_state
    • First observedlist_ecosystem
    • First observedmap_relationships
    • First observedquery_qing
    • First observedsearch_events
    • First observedtrace_minter

TDQS

A4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clear, non-overlapping purpose: debug_call simulates calls, map_relationships graphs contract dependencies, list_ecosystem enumerates contracts, get_contract_state reads specific contract state, trace_minter follows minters, query_qing looks up QING territories, and search_events scans event logs. There is minimal ambiguity between tools.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (debug_call, map_relationships, list_ecosystem, get_contract_state, trace_minter, query_qing, search_events). The verbs are distinct and accurately describe each operation, and no naming conventions are mixed.

Tool Count5/5

Seven tools is well within the ideal 3-15 range for an ecosystem explorer. The count is neither too sparse nor overwhelming, and each tool provides a meaningful capability without redundancy.

Completeness5/5

The tool set covers the full read-only exploration lifecycle for the Dysnomia ecosystem: discovering contracts, inspecting state, simulating calls, mapping relationships, tracing minters, querying territories, and searching events. No obvious essential operation is missing for the apparent domain.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A powerful toolkit that enables seamless interaction with EVM-compatible networks through natural language processing and AI assistance, allowing users to manage wallets, launch tokens, and interact with blockchain networks.
    7 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Universal AI gateway that enables interaction with Ethereum blockchain through natural language across multiple AI platforms (Claude, ChatGPT, Gemini, etc.). Supports contract deployment, token operations, NFT minting, DeFi operations, and general blockchain transactions.
    1
    MIT