stellar-pulse-mcp
Provides read-only analytics for the Stellar network via public APIs, enabling queries about network health and fees, asset details and look-alike warnings, top assets, SDEX order books, account balances and spendable XLM, and Stellar DeFi TVL.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@stellar-pulse-mcpis USDC the real one, and how deep is the XLM/USDC SDEX book?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Latest ledger (age, transactions, failure rate, protocol version, base reserve) and fee levels |
| Price, supply, holders, 7d volume, rating and look-alike warnings for an asset ( |
| Most active assets by volume, trades, payments, holders or StellarExpert rating |
| SDEX order book for a pair: best bid/ask, mid, spread, depth within 1% and 5% |
| Balances, spendable XLM after reserve and open offers, signers, thresholds, clawback flag, recent payments |
| 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_assetpicks 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
Sis rejected immediately, before any network call, and never echoed back. Public addresses (starting withG) 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-mcpOn 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-mcpAdd -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.jsDetails
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
errorsfield.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 toolsstellar_accountStellar account overviewARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| account | Yes | Public account id, 56 characters starting with G | |
| payments_limit | No | How many recent payments to include (0 for none) |
TDQS
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.
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.
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.
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.
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.
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 profileARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | Yes | XLM, USDC, or USDC-GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN |
TDQS
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.
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.
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.
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.
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.
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 overviewBRead-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...).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many protocols to return |
TDQS
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.
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.
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.
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.
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.
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 feesBRead-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).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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 bookARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | Asset being priced, e.g. XLM | |
| levels | No | How many price levels per side to return | |
| counter | Yes | Asset it is priced in, e.g. USDC |
TDQS
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.
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.
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.
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.
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.
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 assetsARead-onlyIdempotent
The most active Stellar assets ranked by 7-day volume, trades, payments, holders or StellarExpert rating.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many assets to return | |
| sort_by | No | Ranking criterion | volume |
TDQS
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.
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.
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.
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.
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.
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.
6 tool updates
v0.1.0- First observed
stellar_account - First observed
stellar_asset - First observed
stellar_defi - First observed
stellar_network_status - First observed
stellar_orderbook - First observed
stellar_top_assets
TDQS
Scored across 6 tools
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.
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.
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.
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
Related MCP Connectors
XRPL token rug-checks, issuer reputation & AMM data for AI agents. Pay-per-call USDC via x402.
Read-only XRPL tools for ASTEROID: identity, market, supply, liquidity, escrows, holders, AMM quotes
Read-only XRPL and Solana data for agents: fees, slippage, readiness. Free /mcp; x402 /mcp/pro.
Wallet trust scores for AI agents. Stellar, XRPL, EVM 81+ chains. OFAC sanctions. x402 payments. Multi-chain wallet trust scoring for AI agents. Score Stellar, XRPL, and EVM wallets across 81+ chains with real-time OFAC/UN/EU sanctions screening. Pay per query via x402 USDC micropayments on Stellar or Base — no accounts, no API keys required.
Related MCP Servers
- AlicenseBqualityCmaintenanceExposes 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.41174 npmMIT
- AlicenseAqualityDmaintenanceMCP 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.3Apache 2.0
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to Aster DEX market data, volume, points, leaderboard rank, and airdrop eligibility via natural language to MCP-compatible LLM agents.40MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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