Skip to main content
Glama

stellar-pulse-mcp

Read-only Stellar analytics for AI assistants, over the Model Context Protocol. Ask Claude (or any MCP client) about network health and fees, asset quality, DEX order books, accounts and DeFi on Stellar, and get structured answers from public APIs. No API keys. No signing. No transactions.

Existing Stellar MCP servers focus on building and sending transactions or developing Soroban contracts. This one is for the other half of the job: understanding what is happening on the network, and spotting what is not trustworthy.

Tool

What it answers

stellar_network_status

Latest ledger (age, transactions, failure rate, protocol version, base reserve) and fee levels

stellar_asset

Price, supply, holders, 7d volume, rating and look-alike warnings for an asset (XLM, USDC or CODE-ISSUER)

stellar_top_assets

Most active assets by volume, trades, payments, holders or StellarExpert rating

stellar_orderbook

SDEX order book for a pair: best bid/ask, mid, spread, depth within 1% and 5%

stellar_account

Balances, spendable XLM after reserve and open offers, signers, thresholds, clawback flag, recent payments

stellar_defi

Stellar DeFi from DefiLlama: TVL, rank among chains, leading protocols, TVL by category

Example prompts:

  • "Is the Stellar network congested right now, and what are fees doing?"

  • "Is this USDC the real one?" (give it USDC-G...; it checks the issuer, domain, holders and rating)

  • "How deep is the XLM/USDC book on the SDEX, and what is the spread?"

  • "How much XLM can this account actually spend?"

  • "What are the biggest DeFi protocols on Stellar and which are growing?"

Why the safety details matter

  • Many assets share a code. Anyone can issue a token called USDC. stellar_asset picks the most traded one when you give only a code, tells you how many others use the same code, and flags issuers with no verified home domain, a low rating, very few holders or no volume.

  • Secret keys are refused. A value starting with S is rejected immediately, before any network call, and never echoed back. Public addresses (starting with G) are all this server ever needs.

  • Spendable XLM is computed, not guessed: (2 + subentries + sponsoring - sponsored) x base reserve, minus XLM locked in open offers, with the reserve read from the latest ledger.

Related MCP server: stellar-copilot-mcp

Install

Requires Node.js 20 or newer. The quickest way is npx, no clone needed:

Claude Code

claude mcp add stellar-pulse -- npx -y stellar-pulse-mcp

On Windows, run it from cmd (PowerShell swallows the --) and wrap npx so Claude Code can start it:

claude mcp add stellar-pulse -- cmd /c npx -y stellar-pulse-mcp

Add -s user to make it available in every folder, not just the current project.

Claude Desktop

{
  "mcpServers": {
    "stellar-pulse": {
      "command": "npx",
      "args": ["-y", "stellar-pulse-mcp"]
    }
  }
}

On Windows use "command": "cmd" with "args": ["/c", "npx", "-y", "stellar-pulse-mcp"].

Published on npm and in the official MCP Registry as io.github.markankamaransheogarat-sys/stellar-pulse-mcp.

To run it from source instead:

git clone https://github.com/markankamaransheogarat-sys/stellar-pulse-mcp.git
cd stellar-pulse-mcp
npm install
npm run build
node dist/index.js

Details

  • Data sources: Horizon (ledgers, fees, accounts, order books), StellarExpert (asset statistics and ratings) and DefiLlama (TVL). Mainnet only.

  • Units: Horizon amounts are decimal units; StellarExpert supplies and volumes come in stroops and are converted (1 XLM = 10,000,000 stroops).

  • One source down is not a failure. Where a tool combines sources, it answers from what is reachable and lists what failed in an errors field.

  • Caching: 3 to 4 seconds for ledger-level data, 60 seconds for StellarExpert, 5 minutes for DefiLlama, so free tiers are not hammered. Simultaneous identical requests share one call.

  • Depth counts the best 100 levels per side of the SDEX book. Liquidity pools and Soroban DEXes are not included.

  • Not financial advice. Snapshots of public data, seconds to minutes old.

Development

npm run typecheck   # tsc --noEmit over src and tests
npm test            # vitest, all HTTP mocked
npm run build       # compile to dist/
npm run smoke       # live check against the real APIs (needs a build first)

src/sources/* talk to one API each, src/tools/* hold the logic and register one MCP tool each, src/stellar.ts validates account ids and asset references, src/http.ts is the shared client (timeout, bounded retries, TTL cache).

A sibling project, crypto-pulse-mcp, does the same for cross-exchange prices, perpetual funding and stablecoin flows.

License

MIT

Available Tools

6 tools
stellar_accountStellar account overviewA
Read-onlyIdempotent

Public overview of a Stellar account: balances, spendable XLM after the reserve and open-offer liabilities, signers and thresholds, flags such as clawback, and the latest payments. Takes a public address starting with G.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountYesPublic account id, 56 characters starting with G
payments_limitNoHow many recent payments to include (0 for none)

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), so the bar is lower; the description still adds real value by calling it a 'Public overview' and by explaining the derived 'spendable XLM after the reserve and open-offer liabilities' semantics. It does not cover error behavior for malformed addresses or rate limits, which keeps it short of a 5.

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 with no filler: the returned-field inventory leads, and the input precondition follows. Every clause earns its place and nothing is buried.

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?

With no output schema, the description carries the burden of describing return values and does so explicitly. The only gaps are secondary behavior: how an invalid or non-existent account is reported and whether payments are capped/ordered beyond the payments_limit default.

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 are already documented and the baseline is 3. The description's note that it 'takes a public address starting with G' merely restates the schema and it says nothing about payments_limit, so it adds no meaning beyond the structured fields.

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 names a precise resource ('a Stellar account') and enumerates its returned contents: balances, spendable XLM after reserve/open-offer liabilities, signers, thresholds, flags such as clawback, and latest payments. That enumeration distinguishes it cleanly from siblings like stellar_asset, stellar_orderbook, and stellar_network_status, which each cover a different resource.

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?

Usage is only implied: the reader infers this is the tool for inspecting a single account, and 'Public overview' hints no auth is needed. It never states when to prefer it over a sibling or what happens for a non-account input, so there are no explicit when/when-not rules.

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

stellar_assetStellar asset profileA
Read-onlyIdempotent

Price, supply, holders, 7-day volume, StellarExpert rating and verification flags for a Stellar asset. Accepts XLM, a code like USDC (picks the most traded one and lists look-alikes) or an exact CODE-ISSUER. Use it to check an issuer before trusting a token.

ParametersJSON Schema
NameRequiredDescriptionDefault
assetYesXLM, USDC, or USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN

TDQS

A4.5/5.0
Behavior4/5

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

Adds behavior beyond the annotations: a bare ticker resolves to the most traded asset and returns look-alike candidates, which is an important ambiguity-resolution trait an agent cannot infer elsewhere. Annotations already cover read-only/idempotent safety, and the description correctly does not restate them. Data staleness or source limits are unmentioned.

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, front-loaded with the returned fields, then input forms plus the resolution rule, then the use case. No filler and no repetition of the schema or annotations.

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, but the description lists the returned data categories, which is enough to know what to expect. For a third-party (openWorld) data lookup, details like freshness, caching, or failure behavior when an asset is unknown are missing.

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?

Schema coverage is 100%, but the description still adds meaning the schema cannot: the three accepted forms are given along with the resolution rule for the ambiguous ticker form and the side effect of listing look-alikes. That is substantive semantics beyond the format example 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?

Names the resource (Stellar asset) and enumerates exactly what it returns: price, supply, holders, 7-day volume, StellarExpert rating, verification flags. That field list also separates it from siblings like stellar_account and stellar_top_assets without needing to name 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?

Gives a concrete decision context: 'Use it to check an issuer before trusting a token.' It stops short of naming alternatives or exclusions (e.g., use stellar_top_assets for discovery, stellar_account for a wallet), so the routing guidance is clear but not exhaustive.

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

stellar_defiStellar DeFi overviewB
Read-onlyIdempotent

DeFi on Stellar from DefiLlama: total value locked, rank among all chains, the leading protocols with 1d/7d change, and TVL by category (lending, DEX, yield...).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many protocols to return

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this as a read-only, idempotent, non-destructive open-world call, so the safety profile is covered. The description adds useful context by disclosing the data source (DefiLlama) and the metric granularity (1d/7d changes), but says nothing about freshness, rate limits, or how the chain rank is computed.

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?

A single well-formed sentence with the data source and main metrics front-loaded, followed by a brief parenthetical list of categories. No filler or repetition.

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 read-only overview tool with no output schema, the description gives an adequate inventory of what comes back and where it comes from. It does not cover response formatting or data freshness, but those are minor gaps given the annotations already cover the safety profile.

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?

There is only one optional parameter, limit, and the schema description coverage is 100%, so the schema already explains it as 'how many protocols to return.' The description's phrase 'the leading protocols' hints that limit controls protocols, but it adds no further semantics 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 names a specific resource (DeFi data on Stellar, sourced from DefiLlama) and enumerates the exact contents: TVL, chain rank, leading protocols with 1d/7d change, and TVL by category. It is clearly distinguishable from siblings like stellar_asset or stellar_orderbook, though it uses a noun phrase rather than an explicit verb.

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 says what data is returned but offers no guidance on when to choose this tool versus the sibling tools, nor any prerequisites or exclusions. Usage is only implied by the topic.

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

stellar_network_statusStellar network health and feesB
Read-onlyIdempotent

Latest Stellar ledger (sequence, age, transactions, failure rate, protocol version, base reserve) and current fee levels (base fee, charged fee percentiles, capacity use, surge pricing).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and openWorld. The description adds useful disclosure in the form of the exact returned metrics, but says nothing about freshness/latency, rate limits, or whether the data is a point-in-time snapshot.

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?

A single dense sentence, front-loaded with the primary subject (latest Stellar ledger) and then fee levels. The parenthetical field lists are compact and earn their place, though the sentence is somewhat list-heavy.

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 the description carries the burden of describing return values — and it does so thoroughly by enumerating both ledger and fee fields. For a zero-parameter read-only tool, that is nearly sufficient; only data freshness/scope caveats are missing.

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 zero parameters there is nothing for the schema to document, so the baseline is 4. The description instead spends its space describing the returned fields, which is the relevant semantic information for a no-arg tool.

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 names the specific resource and enumerates the content returned: latest ledger fields (sequence, age, transactions, failure rate, protocol version, base reserve) plus fee levels. This makes clear it is a network-health snapshot, distinct from siblings like stellar_account or stellar_orderbook, though there is no explicit verb or direct sibling contrast.

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?

There is no statement of when to call this tool versus alternatives, no prerequisites, and no exclusions. An agent must infer from the field list that this answers questions about ledger state or fee conditions.

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

stellar_orderbookSDEX order bookA
Read-onlyIdempotent

Order book of a pair on the Stellar DEX: best bid/ask, mid price, spread and resting depth within 1% and 5%, plus the top levels. Assets can be XLM, a code like USDC (most traded issuer is used and disclosed) or CODE-ISSUER.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseYesAsset being priced, e.g. XLM
levelsNoHow many price levels per side to return
counterYesAsset it is priced in, e.g. USDC

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld, yet the description adds substantive context beyond them: what the response contains (spread, depth buckets at 1% and 5%) and the non-obvious resolution rule that a bare code like USDC maps to the most traded issuer, which is disclosed. That issuer-disclosure behavior is not derivable from any structured field and materially affects interpretation of results.

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?

Two sentences, front-loaded with the resource, and every clause carries information (metrics list, depth buckets, asset notations). The first sentence is a dense run-on enumeration but nothing is padding.

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 the description must carry the return-value burden, and it does by naming the bid/ask, mid, spread, depth and level fields. Gaps are minor: no error behavior for unknown pairs and no note on what happens if a code has no traded issuer.

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 the baseline is 3, but the description genuinely extends the schema: it explains the three asset notations (XLM, bare code with issuer inference, CODE-ISSUER), while the schema only offers 'e.g. XLM'/'e.g. USDC'. The levels parameter is only loosely gestured at via 'top levels', so not full marks.

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?

States a specific verb+resource: 'Order book of a pair on the Stellar DEX', and enumerates the returned fields (best bid/ask, mid, spread, depth, top levels). The resource is plainly distinct from siblings like stellar_asset and stellar_top_assets, though the description never names them to sharpen the distinction.

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?

Usage is implied by the resource ('give me the book for this pair'), and the description explains accepted asset formats, but it never states when to prefer this over stellar_asset or stellar_top_assets, nor any preconditions. An agent can infer the use case but is given no explicit routing guidance.

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

stellar_top_assetsTop Stellar assetsA
Read-onlyIdempotent

The most active Stellar assets ranked by 7-day volume, trades, payments, holders or StellarExpert rating.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many assets to return
sort_byNoRanking criterionvolume

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond that: rankings are based on a 7-day window, which an agent needs to interpret the results. It does not say anything about result size, ordering of ties, or freshness of the underlying data, so it is a modest add rather than rich context.

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?

A single sentence with no filler; the resource and its ranking dimensions are front-loaded. Every clause earns its place and there is nothing to trim.

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-required-parameter, read-only ranking tool with 100% schema coverage and no output schema, the description gives enough to call it correctly and interpret the ranking basis. It could be marginally stronger by noting what an asset record contains or rough result volume, but nothing essential is missing.

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 (limit, sort_by) are already fully documented in the schema, including the enum values with a default of 'volume'. The description mirrors the enum list and adds the 7-day measurement window, which slightly enriches 'volume'/'trades' meaning, but it adds nothing about limit behavior or bounds beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific resource ('most active Stellar assets') and the dimensions by which they are ranked, so an agent can immediately tell this is a discovery/list tool. It does not explicitly name a sibling, but the sibling set (stellar_asset, stellar_orderbook, stellar_account) is naturally disjoint from a top-assets ranking, so confusion risk is low.

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?

Usage is implied by 'most active... ranked by', so an agent can infer this is for discovering/popularity-ranking assets rather than querying a specific one. However, there is no explicit when-to-use framing, no mention of when to prefer stellar_asset for a single lookup, and no prerequisites or limits called out.

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. 6 tool updatesv0.1.0
    • First observedstellar_account
    • First observedstellar_asset
    • First observedstellar_defi
    • First observedstellar_network_status
    • First observedstellar_orderbook
    • First observedstellar_top_assets

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a clearly distinct Stellar domain area: network status, single asset details, ranked asset list, DEX order book, account overview, and DeFi TVL. The only potential overlap, stellar_asset vs stellar_top_assets, is clearly separated by single-asset lookup versus ranked discovery. An agent can confidently select the right tool from the descriptions.

Naming Consistency5/5

All tools use a consistent snake_case pattern with the same stellar_ prefix and descriptive noun phrases. There is no mixing of camelCase, vague verbs, or alternative naming conventions. The set reads as a cohesive namespace.

Tool Count5/5

Six tools is well within the ideal range for a focused Stellar analytics server. Each tool covers a distinct data surface, and none feels redundant or tacked on. The scope is narrow enough that six tools fully express the server's purpose.

Completeness4/5

The surface covers the core Stellar pulse workflows: network conditions, asset discovery and verification, DEX liquidity, account state, and DeFi TVL. Minor gaps remain around transaction-level lookup, historical trends, and Soroban/contract data, but these are workarounds rather than dead ends for the stated monitoring purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Exposes 17 read-only tools from six XRPL-Utilities services so AI agents can access XRPL wallet analysis, signal feeds, macro telemetry, permissioned asset stacks, RWA tracking, and ETF flow data.
    41
    174 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Stellar that enables AI assistants to explain account holdings, diagnose transaction failures, and describe Soroban contracts in plain language, with optional payment proposal flow.
    3
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP hosts like Cursor and Claude to query StellarExpert's public Open API for directory entries, asset information, and ledger helper data through exposed tools.
    MIT