Skip to main content
Glama

Make any AI assistant fluent in building on Alkanes + SUBFROST

License Model Context Protocol TypeScript Node

Use the hosted Aries API  ·  alkanes.build/aries


Aries is the AI-native front door for building on Alkanes and utilizing SUBFROST as a developer.

Concretely: a Model Context Protocol server that gives any MCP-capable assistant — Claude Code, Claude Desktop, Cursor — a knowledge and live-chain-data layer for the Alkanes metaprotocol and the SUBFROST network. Point your assistant at Aries and it can read the protocol docs, query the live chain, and scaffold contracts without leaving the editor.

The tools are free. Trust is earned.

There are two ways to use it: the hosted API (recommended) and a bring-your-own-key local install.

About this repo

This repo is the open baseline Aries began from — the bring-your-own-key distro and the frozen baseline corpus. The hosted instance has evolved server-side and is the living edition; what you find here is the starting point, not a mirror of it. External pull requests are not the contribution path for this repo. Bug reports via Issues are genuinely welcome, and knowledge contributions flow through the hosted incident loop and the Telegram group, where they are reviewed before they enter the living corpus. We would rather have your findings than your patches.


Related MCP server: Alchemy MCP Server

The hosted API — the living Aries

Connect to hosted Aries  ·  alkanes.build/aries

Hosted Aries is free for all developers. Nothing here is for sale.

It is a continuously-learning instance: on top of the baseline docs it carries an ever-growing corpus of real-world lessons — reviewed incident knowledge contributed by every connected agent — that a fresh local clone does not have. Connect one URL and your assistant inherits the whole shared brain, which gets smarter as the corpus grows.

Getting a key

  1. Join the Telegram group: t.me/+DLc96-DPNJRlZTgx

  2. DM the key bot: @AriesKeyBot

  3. Press Start.

  4. Your key arrives in DMs.

Questions are welcome in the group, where @AriesAskBot answers Alkanes/SUBFROST questions. Keys are self-serve end to end: a /revoke command lets you revoke your own key at any time.

Keys are rate-limited while Aries is in beta — currently 10 requests per minute and 1,000 per day. Those are the beta numbers, not a commitment to any particular limit later.

Prefer to run everything yourself? The open, bring-your-own-key edition in this repo is below.

Hosted vs. local

Both editions ship the same 21 tools and the same 75-doc baseline. The difference is the living corpus — and who manages the keys.

Hosted  ·  alkanes.build/aries

Local  ·  this repo

All 21 tools

Yes

Yes

75-doc baseline knowledge

Yes

Yes

Live SUBFROST chain data

Yes — managed

Yes — your own key

Living corpus of real-world lessons

Yes — ever-growing

No

Accumulated incident learning

Yes

No (local store only)

Setup

Connect a URL

Clone, install, build

SUBFROST key

Managed for you

You provide

Cost

Free

Free

Local gives you a complete, self-contained companion on the static baseline. Hosted adds the continuously-learning brain on top. Start local if you like; move to hosted when you want the living corpus.


Run it locally (bring your own key)

Clone this repo and run Aries on your own machine with your own SUBFROST API key. You get the full toolset and the complete 75-doc static baseline knowledge — without the hosted instance's accumulated learning.

Get a SUBFROST API key

Aries talks to the SUBFROST gateway with your key.

Sign up for a SUBFROST API key

Quickstart

Requirements: Node.js >= 20 and a SUBFROST API key.

git clone https://github.com/Aries-Labs-HQ/alkanes-aries.git
cd alkanes-aries
npm install
cp .env.example .env        # then set SUBFROST_API_KEY (see below)
npm run build

Set your key in .env:

SUBFROST_API_KEY=your-key-here
# optional override:
# SUBFROST_RPC=https://mainnet.subfrost.io/v4/jsonrpc

The key is sent as the x-subfrost-api-key header (never in a URL) and never leaves your machine except as that outbound header. .env is gitignored.

Connect your MCP client

Claude Code

claude mcp add --scope local --transport stdio aries \
  -e SUBFROST_API_KEY=YOUR_KEY \
  -- node /absolute/path/to/alkanes-aries/dist/index.js

Verify with claude mcp list, then /mcp in a session. (-- separates Claude's flags from the launch command; keep -e KEY=value right before -- — it is variadic and will otherwise swallow the server name.)

Cursor / Claude Desktop — any client that takes a JSON server config:

{
  "mcpServers": {
    "aries": {
      "command": "node",
      "args": ["/absolute/path/to/alkanes-aries/dist/index.js"],
      "env": { "SUBFROST_API_KEY": "your-key-here" }
    }
  }
}

Your assistant now has all 21 Aries tools.


What's inside — 21 tools, four layers

Layer

Tools

Knowledge — a searchable corpus of 75 curated docs: the Alkanes metaprotocol, the SUBFROST JSON-RPC/REST reference, alkanes-rs, tutorials, oracle docs, reference contracts

aries_search, aries_doc, aries_full_doc, aries_catalog, aries_tutorials

Chain data — live, read-only queries against the SUBFROST gateway: holdings, contract metadata, bytecode, simulate, frBTC peg + DIESEL status, oracle reads, AMM pools, guarded RPC

aries_tokens_by_address, aries_token, aries_contract_meta, aries_bytecode, aries_simulate, aries_frbtc_status, aries_diesel_status, aries_oracle_read, aries_oracle_price, aries_pools, aries_pool_info, aries_rpc

Dev — protocol constants and contract scaffolds, including orbital NFTs

aries_constants, aries_scaffold

Learning — a local incident loop that records gotchas to your own machine as you work

aries_incident_report, aries_incident_query

Ask your assistant things like

"Is the frBTC peg live, who's the signer, and how much frBTC exists?"

"What Alkanes tokens does bc1p… hold?"

"Show the AMM pools and a pool's reserves."

"How do I build a token / oracle / stablecoin / AMM / Orbital?"

"Scaffold an Orbital NFT contract."


Safety — read-only by design

Aries is analytics only. It never signs, broadcasts, or touches wallets or keys:

  • The aries_rpc passthrough is allowlisted to read methods and explicitly blocks broadcast / spend / admin calls.

  • Scaffolds and constants are emitted for you to run in your own alkanes CLI, where you hold the keys.

  • The local incident loop writes only to your machine and sanitizes secrets, keys, and paths out of any report.

Your keys stay yours. Aries only reads and advises.


Configuration

Variable

Purpose

SUBFROST_API_KEY

Required — auth for the live chain-data tools.

SUBFROST_RPC / SUBFROST_REST

Optional gateway overrides (default to mainnet JSON-RPC / REST).

ARIES_INCIDENTS_PATH

Optional path for your local incident store (default data/incidents.jsonl, gitignored).

Logs go to stderr only — stdout is the MCP protocol channel. The doc index is built from corpus/ at startup.

Good to know

  • Alkane ids are {block, tx} / block:tx. frBTC = 32:0, DIESEL (genesis) = 2:0. Protocol tag is always 1.

  • Read contract state with aries_simulate: the opcode goes in inputs (e.g. [103]), not data.

  • Orbitals (Alkanes NFTs) are a Token with total supply 1 + opcode 1000 for media; read them with aries_oracle_read, scaffold one with aries_scaffold orbital.

  • Extend the corpus by editing corpus/ or adding URLs to scripts/ingest.ts (HTML cleaned via turndown + jsdom; raw .md/.rs taken verbatim).

Hosted, continuously-learning Aries

alkanes.build/aries

Aries Telegram group

t.me/+DLc96-DPNJRlZTgx

Aries key bot

@AriesKeyBot

SUBFROST API keys

api.subfrost.io

Model Context Protocol

modelcontextprotocol.io

License

MIT

Available Tools

21 tools
aries_bytecodeA

Fetch the raw WASM bytecode (hex) of an Alkanes contract by {block, tx}. For human-readable disassembly, pair with the alkanes inspect <outpoint> --disasm --meta CLI.

ParametersJSON Schema
NameRequiredDescriptionDefault
txYes
blockYes
blockTagNo

TDQS

A3.7/5.0
Behavior2/5

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

The description indicates a read operation ('Fetch') but lacks details on side effects, permissions, error handling, or behavior when inputs are invalid. With no annotations provided, the description should carry the full burden but falls short.

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 sentences efficiently convey the main purpose and a usage tip. No redundant information; every sentence adds value.

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?

Given no output schema and no annotations, the description covers basic functionality but omits return format, error conditions, and scope (Alkanes contracts). It is minimally adequate for a simple fetch tool but lacks completeness.

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 description mentions {block, tx} in the template, explaining that they identify the contract, which adds meaning beyond the schema. However, the optional blockTag parameter is not documented, and schema coverage is 0%, so the description only partially compensates.

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 it fetches raw WASM bytecode by block and tx. The verb 'Fetch' and resource 'raw WASM bytecode' are specific, and the tool name 'bytecode' reinforces this. It distinguishes from siblings like aries_contract_meta which likely returns metadata.

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 explicit guidance on when to pair this tool with the alternative CLI for disassembly, indicating a use case. However, it does not exclude other scenarios or mention other sibling tools like aries_contract_meta as alternatives.

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

aries_catalogA

List every doc in the corpus grouped by source (subfrost, subfrost-api, alkanes-rs, tutorials, oracles, orddao, reference).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. The description indicates a non-destructive read operation, but lacks details on potential limitations (e.g., pagination, rate limits, or result size).

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?

Single sentence that is maximally informative with no filler. Every element (verb, scope, grouping, sources) is essential.

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?

Given no parameters, output schema, or annotations, the description covers the functionality adequately. Could optionally mention pagination but is sufficient for a simple list.

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?

No parameters exist, so schema coverage is 100%. The description correctly omits parameter details as there are none; baseline for 0 params is 4.

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 lists all docs grouped by source, with specific sources listed. This distinctively differentiates it from sibling tools like aries_doc (single doc) and aries_search (query-based).

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 usage for overview/catalog purposes but does not explicitly state when to use versus alternatives like aries_doc for specific docs or aries_search for filtered results.

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

aries_constantsA

Return the key Alkanes/frBTC constants instantly: frBTC contract id, wrap/unwrap/get-signer opcodes, genesis block, protocol tag.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It accurately portrays the tool as returning constants instantly with no side effects. However, it could add details like the tool being idempotent and safe to call repeatedly.

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 that efficiently conveys the tool's purpose and output. Every word is necessary; no redundancy or fluff.

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 constant retrieval tool with no output schema and no annotations, the description adequately specifies what constants are returned. It is complete enough for its limited scope, though it could mention that the constants are static and immediately available.

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?

There are zero parameters and 100% schema coverage (empty properties). The baseline for no parameters is 4; the description does not need to add parameter semantics since none exist.

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 'Return' and specifies the resource 'key Alkanes/frBTC constants', listing concrete items like frBTC contract id and opcodes. It distinguishes from sibling tools which perform different actions (e.g., aries_bytecode returns bytecode, aries_catalog returns catalog).

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 the many sibling tools (e.g., aries_bytecode, aries_frbtc_status). It does not mention prerequisites, alternatives, or context for appropriate usage.

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

aries_contract_metaA

Get an Alkanes contract's metadata (name, symbol, decimals, totalSupply) by its alkane id {block, tx}, via the alkanes_meta view. String id form is block:tx. Note: some contracts (incl. frBTC 32:0) do not implement the meta view and will error — for those, read fields via aries_simulate opcodes (or use aries_frbtc_status for frBTC).

ParametersJSON Schema
NameRequiredDescriptionDefault
txYesTx index within that block
blockYesEtching block height
blockTagNo

TDQS

A4.4/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. It discloses that the tool uses the alkanes_meta view and will error for non-implementing contracts. It does not specify response format or any other behavioral traits, but the warning about errors is valuable. Slight lack of detail on response structure.

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 extremely concise: two sentences with no extraneous text. The first sentence states the core purpose and parameters, the second provides critical usage guidance and alternatives. 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?

Given the complexity of the tool (3 parameters, no output schema, no annotations), the description covers the essential aspects: purpose, parameter usage, error scenarios, and alternatives. It is complete enough for an agent to use effectively, though a description of the return format would enhance completeness.

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 67% (block and tx have descriptions, blockTag does not). The description adds value by explaining that the string id form is 'block:tx', clarifying the relationship between block and tx. However, it does not address blockTag at all, leaving it partially undocumented.

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 ('Get an Alkanes contract's metadata'), the specific fields returned (name, symbol, decimals, totalSupply), and the resource identifier (alkane id with block and tx). It distinguishes from sibling tools by noting alternative tools for contracts that don't implement the meta view.

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

Usage Guidelines5/5

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

The description provides explicit when-to-use guidance: for contracts that implement the alkanes_meta view. It also gives clear when-not-to-use guidance, noting that some contracts (e.g., frBTC 32:0) will error, and specifies alternative tools (aries_simulate, aries_frbtc_status) for those cases.

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

aries_diesel_statusA

Convenience: read DIESEL — the Alkanes genesis token at 2:0 (the base token most contracts pair against) — name, symbol, decimals, and totalSupply in one call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It indicates a read operation ('read') but does not explicitly state it is non-destructive or idempotent. For a read-only tool, the description is adequate but could benefit from stating safety implications.

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?

Single sentence that is front-loaded with the tool's purpose and provides essential information without any filler or redundancy.

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 tool with no output schema, the description covers the key output fields. It does not mention error conditions or response format, but the simplicity of the tool makes it adequately complete.

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?

No parameters in the input schema, so baseline is 4. The description adds value by stating what the tool outputs (name, symbol, decimals, totalSupply), which goes beyond the empty schema.

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 reads the DIESEL token (name, symbol, decimals, totalSupply) at a specific location (2:0) and notes it's a convenience call. It distinguishes from sibling tools like aries_token and aries_frbtc_status by focusing on a single, specific token.

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?

No explicit guidance on when to use this tool vs. alternatives. The term 'Convenience' implies it's a shorthand, but no when-not-to-use or alternative tool names are provided.

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

aries_docA

Read a corpus doc token-efficiently. Without section, returns the doc's heading list (TOC). With section, returns just that section's body. Use the path values from aries_search / aries_catalog / aries_tutorials.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesCorpus path, e.g. "subfrost/alkanes.md"
sectionNo

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, but description discloses key behaviors: token-efficient reading, conditional return based on `section` presence. No contradictions. Does not mention permissions, rate limits, or side effects, but acceptable 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?

Three sentences, each earning its place: first sets purpose, second explains modes, third provides usage guidance. No redundant information.

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 read tool with no output schema, description covers core functionality and usage. Could be improved by detailing return format of TOC, but sufficient for typical agent use.

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 covers 50% (only `path` described). Description adds meaning: explains `path` source and `section` effect. Provides context beyond schema, aiding correct parameter use.

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?

Description clearly states it reads a corpus doc token-efficiently, explaining two modes: returning TOC without `section` and section body with `section`. It distinguishes from siblings by referencing `aries_full_doc` implicitly and specifying use of `path` from search/catalog/tutorials.

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?

Provides clear context on when to use based on need for TOC vs specific section, and directs to use `path` values from other tools. Lacks explicit when-not-to-use or alternatives but sufficient for typical use.

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

aries_frbtc_statusA

Convenience: fetch frBTC (alkane 32:0) name, symbol, decimals, total supply, and current signer in one call. Good for 'is the peg live / who is the signer / how much frBTC exists' questions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states it fetches data, which implies a read-only operation, but does not explicitly declare non-destructive behavior or other traits.

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 'Convenience', and contains no unnecessary words.

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 tool with no parameters or output schema, the description adequately covers the purpose and usage context. It could mention expected return format or potential errors, but is generally sufficient.

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?

Input schema has zero parameters, so no parameter documentation is needed. The description does not need to add parameter semantics; baseline for 0 parameters is 4.

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 fetches frBTC token metadata (name, symbol, decimals, total supply) and current signer, and gives specific example questions. It distinguishes itself from siblings as a convenience endpoint for a specific token.

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 usage for checking frBTC status with example questions, but does not explicitly state when not to use it or provide alternatives among siblings.

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

aries_full_docB

Return the complete, untruncated markdown of a corpus doc by path. Use when you need the whole file in one shot.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

B3.1/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 full burden. It only states it returns untruncated markdown but does not disclose behavior on invalid paths, performance, or safety implications.

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 concise sentences, front-loaded with the verb and resource, no unnecessary words.

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?

For a simple retrieval tool with one parameter, the description is adequate but lacks details on return format or error handling, especially given no output schema.

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

Parameters2/5

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

The single path parameter has no description in the schema (0% coverage). The description only mentions 'by path' without specifying format, required nature, or valid values.

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 it returns the complete, untruncated markdown of a corpus doc by path, but does not explicitly differentiate from the sibling 'aries_doc', which may also return doc content.

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?

It says 'Use when you need the whole file in one shot.', providing a use case, but does not indicate when not to use this tool or mention alternatives like 'aries_doc'.

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

aries_incident_queryA

Query the TRUSTED incident corpus to avoid repeating known mistakes — call this BEFORE non-trivial Alkanes/Subfrost work. Serves only operator-vetted incidents (pending submissions are not returned). actions: recent (newest first, default), search (free-text + filters), stats (aggregate counts), get (by incident id).

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoComma-separated tags to match
limitNoMax results (default 10, max 50)
actionNo
categoryNo
severityNoMinimum severity threshold
incident_idNoFor action=get (e.g. INC-...)
search_textNoFree-text across title/description/root_cause/correction
affected_filesNoComma-separated file paths to match

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full burden and discloses that only vetted incidents are returned, and describes the four action behaviors. It does not explicitly state read-only status but strongly implies it; adding rate limits or auth would improve but current is adequate.

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 with front-loaded purpose and a crisp list of actions. Every sentence adds value, no redundancy, and is structured for quick scanning.

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?

Given 8 parameters and no output schema, the description covers core behaviors well (actions, vetted only, usage timing). It lacks details on return format or pagination (limit default), but schema handles some. Sufficient for a query tool.

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 covers 75% of parameters with descriptions. The description adds meaning beyond schema by explaining the 'action' enum values (recent, search, stats, get) and their behavior. This compensates for the undocumented enums.

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 queries a trusted incident corpus to avoid repeating mistakes. It explicitly names the actions (recent, search, stats, get) and specifies the resource. While it doesn't contrast with sibling aries_incident_report, the purpose is specific and clear.

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 explicit guidance to 'call this BEFORE non-trivial Alkanes/Subfrost work' and clarifies it returns only operator-vetted incidents, excluding pending submissions. It does not mention alternatives, but the context is strong.

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

aries_incident_reportA

Record a mistake, bug, rule violation, or pitfall you hit while working with Alkanes/Subfrost, so future sessions can learn from it. File one whenever you make an error worth not repeating, hit a surprising behaviour, or learn a non-obvious gotcha — contributing makes Aries smarter for every user. Submissions enter a review queue and become searchable once an operator approves them. SECURITY: never include secrets, API keys, seed phrases, private keys, local file paths, or hostnames — reports are treated as shareable; use placeholders like . (Inputs are also auto-sanitized on the way in.)

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoComma-separated keywords for search, e.g. "simulate,opcode,decode"
titleYesShort title describing the incident
agent_idNoReporting agent identifier
bad_codeNoOffending snippet (auto-sanitized before storage)
categoryYes
severityYes
correctionYesWhat SHOULD have been done instead
root_causeYesWHY it happened — root-cause analysis
descriptionYesWhat happened
affected_filesNoComma-separated file paths
rules_violatedNoComma-separated rules that were violated

TDQS

A4.1/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full burden. It discloses that submissions enter a review queue and become searchable after operator approval, and that inputs are auto-sanitized. This provides good behavioral context beyond the schema.

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

Conciseness4/5

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

The description is a single paragraph but well-structured: it starts with purpose, then usage scenarios, then security. It is not overly verbose and conveys necessary information efficiently.

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?

Given 11 parameters (6 required) and no output schema, the description explains the submission flow and security constraints. It adequately covers when to use and what to include, though it could mention the return value or confirmation.

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 82%, so baseline is 3. The description adds value by mentioning auto-sanitization for bad_code and a security warning about secrets, but does not significantly expand on parameter semantics beyond what the schema already provides.

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 'Record' and the specific resources (mistakes, bugs, rule violations, pitfalls) related to Alkanes/Subfrost. It distinguishes the tool from its sibling aries_incident_query by indicating this is for creating records, not querying them.

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 explicit scenarios for when to file: 'whenever you make an error worth not repeating, hit a surprising behaviour, or learn a non-obvious gotcha.' It also includes security caveats but does not explicitly state when NOT to use the tool or mention alternatives.

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

aries_oracle_priceA

Read the latest price from a Chainlink-style Alkanes price-feed oracle (opcode 10 = GetPrice). Give the oracle alkane id {block,tx} and the symbolId. Returns priceE8 (raw 1e8-scaled u128), price (number), priceBlock, updatedBlock, and ageBlocks (vs current height). Needs a deployed price-feed instance — the feed is a template (see reference/oracles.md), so pass the id you want to read.

ParametersJSON Schema
NameRequiredDescriptionDefault
txYes
blockYes
blockTagNo
symbolIdYesSymbol id registered in the feed (u32)

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Discloses read operation, opcode, and return fields, but omits error behavior (e.g., if feed not found) or side effects. Adequate but not thorough.

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

Conciseness4/5

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

Four straightforward sentences front-load purpose and inputs. No redundancy, but could be more structured with bullet points for return fields.

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?

Given no output schema and 4 parameters, description covers inputs, outputs, and setup requirements. References external doc for template, which is helpful. Slightly light on error conditions.

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 only 25%, but description explains block and tx as 'alkane id' and symbolId as 'Symbol id registered in the feed'. Adds meaning beyond raw schema.

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?

Explicitly states 'Read the latest price' with specific resource (Chainlink-style Alkanes price-feed oracle) and opcode. Distinguishes from siblings like aries_oracle_read by focusing on price feeds.

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?

Clearly explains inputs (alkane id {block,tx} and symbolId) and prerequisites (deployed feed instance). Refers to external docs for template details. Lacks explicit when-not-to-use, but context is sufficient.

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

aries_oracle_readA

Read a value from a deployed Alkanes oracle contract via a staticcall-safe view (alkanes_simulate). Give the oracle's alkane id {block,tx}, the read opcode, and any inputs (u128 each). decode shapes execution.data: raw hex (default), u128/u64/u32 (little-endian int as a string), utf8, bool (first byte), or price (16B price ‖ 8B price_block ‖ 8B updated_block). See corpus reference/oracles.md and corpus/oracles/ for each oracle's read opcodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
txYes
blockYes
decodeNo
inputsNoOpcode args (u128 each), e.g. [symbolId]
opcodeYesRead opcode, e.g. price feed 10 = GetPrice, block-header 10 = current_height
blockTagNo

TDQS

A3.8/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. It correctly states the tool is a staticcall-safe view (read-only) and explains the decode parameter. However, it does not cover failure modes, rate limits, or authentication requirements.

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

Conciseness4/5

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

The description is concise with two sentences. The first states purpose and key inputs, the second explains decode. It is front-loaded but could benefit from breaking down complex decode info into a list or table.

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?

Given the tool's complexity (oracle reading with opcodes and decode), the description covers purpose, inputs, and decode format. It references external docs for opcode details. Without an output schema, it explains how to interpret execution.data via decode. No missing critical information.

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

Parameters5/5

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

The description adds significant meaning beyond the schema, which has only 33% coverage. It clarifies the purpose of block/tx as the oracle's alkane id, details decode options (raw, u128, utf8, bool, price), and provides examples for opcode and inputs.

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 reads a value from an oracle contract via a staticcall-safe view (alkanes_simulate). The verb 'read' and resource 'oracle contract' are specific, but it does not explicitly differentiate from sibling tools like aries_oracle_price, leaving some ambiguity.

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 explains what inputs to provide (alkane id, opcode, inputs) and references external documentation for opcode details. However, it lacks guidance on when not to use this tool vs. alternatives, such as aries_oracle_price for price reads.

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

aries_pool_infoA

Get details (reserves, token pair, price) for one Alkanes AMM pool via the Subfrost REST API (get-pool-details). Give the pool's alkane id as block:tx; factory defaults to 4:65522.

ParametersJSON Schema
NameRequiredDescriptionDefault
poolYesPool alkane id "block:tx"
factoryNoAMM factory alkane id "block:tx" (default "4:65522")

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It states it uses a REST API and is a get operation, but does not disclose data freshness, rate limits, or error behavior.

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 concise sentences with no fluff, front-loaded with key information.

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?

Given no output schema, the description mentions return details (reserves, token pair, price), which is helpful. It is largely complete for a single pool detail tool.

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 the description adds little beyond the schema. It mentions the factory default which is already in the schema description.

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 it gets details (reserves, token pair, price) for one AMM pool, specifies the input format and default factory, and distinguishes from sibling tools like 'aries_pools' which likely list pools.

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 mentions to give the pool's alkane id as block:tx and the factory default, implying usage for single pool details, but lacks explicit guidance on when to use or not use versus alternatives.

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

aries_poolsA

List Alkanes AMM liquidity pools with details (reserves, TVL, 24h volume, trending) for a factory, via the Subfrost REST API (get-all-pools-details). factory defaults to 4:65522 (the documented AMM factory); if that returns 0 pools, pass your AMM factory's block:tx.

ParametersJSON Schema
NameRequiredDescriptionDefault
factoryNoAMM factory alkane id "block:tx" (default "4:65522")

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It mentions the API call and default behavior but does not disclose rate limits, authentication requirements, or whether the operation is read-only. Transparency is moderate.

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 extremely concise: two sentences with no wasted words. The main purpose is front-loaded, and the usage hint follows immediately. Every sentence 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 simple tool with one optional parameter and no output schema, the description is sufficiently complete. It covers the default behavior and a key edge case. The only gap is the absence of return format details, but it's not critical given the simple input.

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%, so baseline is 3. The description adds value by explaining the default value for 'factory' and when to override it, providing context beyond the schema.

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 lists Alkanes AMM liquidity pools with specific details (reserves, TVL, etc.) for a factory. It includes the API endpoint and default factory. However, it does not explicitly distinguish from sibling tool 'aries_pool_info', which might cause confusion.

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 a conditional usage hint (use custom factory if default returns 0 pools) but does not explain when to prefer this tool over alternatives like 'aries_pool_info' or others. Usage context is implied but not explicitly guided.

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

aries_rpcA

Escape hatch: call any read-only Subfrost gateway method directly (esplora_*, ord_*, metashrew_*, alkanes_*, brc20_*, and read-only btc_get*/btc_decode*). Write/broadcast methods are blocked. Use the docs tools to find method names and params.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYesFull JSON-RPC method, e.g. esplora_address::txs
paramsNo

TDQS

A4.7/5.0
Behavior5/5

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

Discloses that it is an escape hatch, lists allowed method patterns, and explicitly blocks write/broadcast methods. With no annotations provided, the description fully informs the agent of behavioral traits 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?

Three sentences, front-loaded with 'escape hatch', no redundant information. Every sentence adds value: purpose, constraints, and guidance.

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

Completeness5/5

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

Given no output schema, the description adequately covers the tool's generic nature, constraints, and how to find method details. Completely sufficient for a read-only RPC escape hatch.

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 50% (describes 'method' with example, 'params' as array). Description adds context on allowed method patterns but doesn't add meaning beyond schema for the 'params' parameter. Baseline 3 is appropriate.

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 it is an 'escape hatch' to call any read-only Subfrost gateway method directly. It lists specific method prefixes (esplora_*, ord_*, etc.), distinguishing it from sibling tools that have specific purposes.

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

Usage Guidelines5/5

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

Explicitly states when to use (call any read-only method) and when not to (write/broadcast methods blocked). Also advises using docs tools to find method names and params, providing clear guidance.

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

aries_scaffoldA

Return a scaffold/recipe: 'wrap' (mint frBTC protostone), 'unwrap' (burn frBTC), 'contract' (alkanes-rs WASM contract skeleton), or 'orbital' (Alkanes NFT / Orbital contract skeleton — a Token with supply 1 + opcode 1000 media). These are starting templates, not audited code.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes

TDQS

A4/5.0
Behavior3/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. It correctly identifies the tool as returning templates and includes a caution about them being unaudited. However, it does not disclose the output format or any potential side effects, leaving some behavioral ambiguity.

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, front-loads the core purpose, and contains no redundant information. Every word adds value.

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 one-parameter tool with no output schema, the description is fairly complete. It explains what each scaffold does and warns about the code's nature. Missing details like output format (e.g., file content or URL) are minor given the simplicity.

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 0% for parameter descriptions, but the description compensates by explaining each enum value (wrap: mint frBTC protostone, etc.), adding meaningful context beyond the raw enum strings in the schema.

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 that the tool returns a scaffold/recipe and enumerates four specific types with brief explanations (wrap, unwrap, contract, orbital). This distinguishes it from sibling tools which are unrelated operations.

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 usage for obtaining templates, but lacks explicit guidance on when to choose this tool over alternatives. Sibling tools include many other actions, but no comparative context is provided.

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

aries_simulateB

Simulate an Alkanes view call against a contract without broadcasting — the way to read contract state by invoking an opcode. Pass the full simulation request object. The opcode goes in inputs (e.g. [103]); target names the alkane (no [block,tx] prefix in inputs).

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYesalkanes_simulate request object, e.g. { alkaneId:{block,tx}, target:{block,tx}, inputs:[103], pointer:0, refundPointer:0, vout:0, data:'0x' }
blockTagNo

TDQS

B3.3/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 full burden. It states the tool is non-broadcasting (read-only), but lacks disclosure of permissions, rate limits, error behavior, or side effects.

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

Conciseness4/5

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

Three concise sentences front-load the purpose and provide key parameter guidance. No fluff, but could be slightly more structured for readability.

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?

Despite 2 parameters and no output schema, the description omits what the simulation returns, error cases, or any example output. It's incomplete for a nested object parameter.

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?

With 50% schema coverage, the description adds value by explaining that the opcode goes in `inputs` and `target` names the alkane without a prefix, which clarifies the request structure beyond the schema.

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 simulates an Alkanes view call without broadcasting, which is a specific verb-resource combination for reading contract state. This distinguishes it from siblings like aries_bytecode or aries_rpc.

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 implies usage for reading state but provides no explicit when-to-use or when-not-to-use guidance, and does not mention any alternative sibling tools for comparison.

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

aries_tokenA

Read any Alkanes token's metadata (name, symbol, decimals, totalSupply) by its alkane id {block, tx} via opcode views — works when alkanes_meta does not. Detects supply at opcode 105 (frBTC-style) or 101 (orbital/NFT-style) and flags supply-1 tokens as likely Orbitals.

ParametersJSON Schema
NameRequiredDescriptionDefault
txYes
blockYes
blockTagNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It reveals it uses opcode views (a read mechanism), detects supply at opcodes 105 or 101, and flags supply-1 tokens as orbitals. This adds substantial behavioral context beyond the schema, though it omits details on error handling or authorization.

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 core purpose, efficient and without fluff. Every sentence adds value.

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?

No output schema exists, so description must cover return behavior. It lists returned fields and detection logic. It is fairly complete for a read tool, though lacks explanation of error responses or return format.

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 0%, so description must compensate. It explains that block and tx form the alkane id, giving functional meaning. However, it does not mention the optional blockTag parameter or provide format constraints, leaving some ambiguity.

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 reads token metadata (name, symbol, decimals, totalSupply) by alkane id. It distinguishes itself from the sibling alkanes_meta by noting it works when that tool does not, providing specific differentiation.

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 advises using this tool when 'alkanes_meta does not work', giving a clear condition. However, it does not explicitly mention when not to use it or provide alternatives among the many sibling tools.

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

aries_tokens_by_addressA

List all Alkanes tokens held by a Bitcoin address (wraps alkanes_protorunesbyaddress, protocolTag is always 1). Returns outpoints and the rune balances at each. Note: very high-activity addresses (thousands of UTXOs, e.g. the frBTC treasury) can exceed the RPC timeout.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesBitcoin address, e.g. bc1q…/bc1p…
blockTagNoBlock tag, default "latest"

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description discloses the output (outpoints and balances) and importantly warns about RPC timeouts for high-activity addresses. This is useful behavioral context. However, it does not explicitly state idempotency or side effects, though 'list' implies a read operation.

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?

Extremely concise: two sentences plus a note, all front-loaded with the core purpose. Every sentence adds value with no fluff.

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 2-param tool with no output schema, the description provides the essential information: purpose, output structure (outpoints and balances), and a significant operational caveat. Could be improved by clarifying the output format or defining 'Alkanes tokens', but it is adequate for the complexity level.

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 covers both parameters with descriptions. The description adds the context that it wraps another function and fixes protocolTag, but does not add new parameter-specific semantics. Baseline 3 is appropriate given 100% 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?

Clearly states it lists all Alkanes tokens held by a Bitcoin address, specifies it wraps an underlying function with fixed protocolTag, and describes the output (outpoints and rune balances). This is specific and distinguishes from sibling tools like aries_token (likely for a single token).

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?

Provides the core use case but no explicit guidance on when not to use it or alternatives. The warning about RPC timeouts for high-activity addresses is a helpful caveat, but it doesn't tell the agent when to choose this tool over others like aries_search.

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

aries_tutorialsA

List the step-by-step Alkanes/Subfrost tutorials available in the corpus (title, summary, read-time, doc path). Use this to pick the right tutorial for a build task, then read it with aries_doc (TOC-first) or aries_full_doc. Covers making/deploying/auditing contracts, tokens, DAOs, oracles, stablecoins, AMMs, wrapped BRC-20, frBTC/Subfrost, DIESEL, swapping, indexers, and security.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, but description details the tool's output (listing metadata) and scope (across various topics). It does not mention any destructive behavior; could explicitly state non-mutability but is sufficient for a read-only list 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?

Two concise sentences, front-loaded with purpose and output details, no wasted words.

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

Completeness5/5

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

For a parameter-free listing tool, the description fully covers what it returns and how to use it with sibling tools. No output schema needed as fields are enumerated.

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?

No parameters; schema coverage is 100%. Description adds value by explaining what the listing contains (fields and coverage), exceeding the baseline for parameter-free tools.

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?

Clearly states verb (List) and resource (step-by-step tutorials), specifies output fields (title, summary, read-time, doc path), and distinguishes from siblings by focusing on tutorial discovery rather than content reading.

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

Usage Guidelines5/5

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

Explicitly advises to use this tool for picking tutorials and then read with aries_doc or aries_full_doc, providing clear when-to-use and when-not-to-use guidance with alternatives.

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

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, targeting specific resources or actions such as token metadata, oracle pricing, pool details, documentation, incident management, and simulation. No two tools appear to do the same thing; even similar tools like aries_contract_meta and aries_token are differentiated by method and fallback behavior.

Naming Consistency5/5

All tools follow the consistent pattern 'aries_' plus a descriptive snake_case noun phrase. Whether single-word (e.g., aries_simulate) or compound (e.g., aries_oracle_price), the naming is uniform and predictable.

Tool Count5/5

With 21 tools, the set is well-scoped for a complex DeFi protocol. It covers documentation, token/contract interaction, oracle reading, pool management, incidents, constants, and scaffolding without feeling bloated or insufficient.

Completeness4/5

The tool surface covers core interactions: reading state, documentation retrieval, incident tracking, and code templates. Minor gaps exist (e.g., no tool for listing all contracts by type), but for a read-oriented server, it is largely comprehensive and avoids dead ends.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Aries-Labs-HQ/alkanes-aries'

If you have feedback or need assistance with the MCP directory API, please join our Discord server