stellar-expert-mcp
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-expert-mcp look up the USDC asset on Stellar public network"
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.
StellarExpert MCP
Model Context Protocol server for the StellarExpert Open API (v1.4.0). It exposes Directory, Asset Info, and Ledger helper endpoints as tools so Cursor, Claude, and other MCP hosts can query the same public data your product documents.
The Open API is public, unauthenticated, and CORS-enabled. This server only wraps documented Open API routes — not undocumented explorer UI endpoints.
Upstream: https://api.stellar.expert
Docs: https://stellar.expert/openapi
Data license on the Open API: MIT
Tools
Tool | Upstream |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Resource: stellar-expert://docs
Prompts: check-address-safety, lookup-asset
network is public or testnet (default public, or STELLAR_EXPERT_NETWORK).
Related MCP server: Polymarket MCP
Rate limits
StellarExpert may return HTTP 429. The MCP surfaces that as a tool error and asks the model to cache or batch queries. For heavy client usage, cache on your side.
Requests send User-Agent: stellar-expert-mcp/0.1.0.
Requirements
Node.js 20+
Install (from a clone)
npm install
npm run buildLocal stdio (until published to npm)
Cursor — project .cursor/mcp.json or ~/.cursor/mcp.json:
{
"mcpServers": {
"stellar-expert": {
"command": "npx",
"args": ["tsx", "/ABS/PATH/TO/stellar-expert-mcp/src/stdio.ts"]
}
}
}Or after npm run build:
{
"mcpServers": {
"stellar-expert": {
"command": "node",
"args": ["/ABS/PATH/TO/stellar-expert-mcp/dist/stdio.js"]
}
}
}After npm publish
{
"mcpServers": {
"stellar-expert": {
"command": "npx",
"args": ["-y", "stellar-expert-mcp"]
}
}
}Claude Desktop / Claude Code (stdio)
{
"mcpServers": {
"stellar-expert": {
"command": "npx",
"args": ["tsx", "/ABS/PATH/TO/stellar-expert-mcp/src/stdio.ts"]
}
}
}MCP Inspector
npm run inspectorEquivalent: npx @modelcontextprotocol/inspector npx tsx src/stdio.ts
Remote HTTP (clients)
Same createServer() factory over Streamable HTTP at /mcp.
npm run start:httpDefaults: http://127.0.0.1:3000/mcp. Health: GET /health.
Env | Default | Purpose |
|
| Listen port |
|
| Bind address. Use |
| (none) | Comma-separated Hostnames when binding non-localhost |
|
| API origin |
|
| Default |
Cursor remote config:
{
"mcpServers": {
"stellar-expert": {
"url": "https://YOUR_HOST/mcp"
}
}
}Smoke test:
curl -s -X POST http://127.0.0.1:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'This v1 ships a Node process (npm run start:http). Host it on Fly, a VM, or similar; do not bind 0.0.0.0 without ALLOWED_HOSTS / a proxy.
Publishing to npm
npm is deprecating 2FA-bypass granular access tokens for account/package management (already in effect) and for direct publish (targeted January 2027). This repo does not use a long-lived NPM_TOKEN. Releases go through trusted publishing (OIDC).
First publish (the package does not exist yet — trusted publishers can only be attached after it does).
npm login --auth-type=web only signs you in. It is not package-publish 2FA. npm now requires account 2FA (or a bypass-2FA token, which we are not using) for every new package. --auth-type=web on npm publish will not open a second browser prompt if you are already logged in.
Enable 2FA on the npm account (not GitHub): Two-Factor Authentication — authenticator app,
auth-and-writes.Then, from this repo, use the 6-digit npm code (refreshes every 30s):
npm publish --access public --otp=123456npx stellar-expert-mcp returning 404 is expected until this first publish succeeds.
Then on npmjs.com → stellar-expert-mcp → Settings → Trusted Publisher:
Organization or user:
Bran18Repository:
stellar-expert-mcpWorkflow filename:
publish.ymlAllow
npm publish(and/ornpm stage publish)
Later versions: bump version in package.json, commit, tag, push:
git tag v0.1.1
git push origin v0.1.1.github/workflows/publish.yml publishes from GitHub-hosted runners with id-token: write. No bypass-2FA token.
Provenance attestations require a public GitHub repo. This repository is private, so npm will publish without provenance until you change visibility.
Development
npm start # stdio
npm run start:http
npm run typecheck
npm run verify # live Open API + in-process MCP handlerAttribution
API data and schema: StellarExpert. This MCP is a DevRel wrapper around the public Open API; it is not a substitute for on-chain source of truth (Horizon / RPC). Asset ratings are technical activity scores, not investment advice.
Available Tools
12 toolscheck_blocked_domainCheck blocked domainA
Check whether a domain (or its registrable parent) is on the StellarExpert blocked-domains list. Use before linking or recommending a Stellar-related URL.
Inputs: domain (required).
get_asset_holder_rankGet asset holder rankA
Get an account’s relative balance rank among holders of an asset (position and total holder count).
Inputs: asset (required), account (required), network.
get_asset_ratingGet asset ratingA
Fetch StellarExpert composite technical rating for one asset (age, trades, payments, trustlines, volume7d, interoperability, liquidity, average). Ledger-activity based; not financial advice.
Inputs: asset (required), network.
get_asset_supplyGet asset supplyB
Return total issued supply for an asset as plain text (useful for aggregators and dashboards). Native XLM and CODE-ISSUER identifiers are accepted.
Inputs: asset (required), network.
get_directory_entryGet Directory entryA
Look up one Stellar account in the Directory. Returns name, domain, and tags when listed. An empty object (or 404) means the account is not in the Directory — it may still exist on-chain.
Inputs: address (required).
ledger_sequence_from_timestampLedger sequence from timestampA
Resolve the ledger sequence whose close time is equal to or before the given timestamp (UNIX seconds or RFC 3339). Returns 404 if the time is before the first ledger or in the future.
Inputs: timestamp (required), network.
ledger_timestamp_from_sequenceLedger timestamp from sequenceB
Resolve the close timestamp (UNIX + ISO date) for a given ledger sequence.
Inputs: sequence (required), network.
list_asset_holdersList asset holdersA
List accounts holding a non-zero balance of an asset, sorted by balance. Zero-balance trustlines are omitted. Horizon-style paging.
Inputs: asset (required), limit, order, cursor, +1 more.
list_assetsList assetsA
List Stellar assets with on-chain stats and StellarExpert composite rating. Search by code, issuer, home domain, or stellar.toml metadata. Sort by rating (default), created, payments, trades, trustlines, volume, or volume7d. Use to find or rank assets; rating is technical (age, activity, liquidity, SEP metadata), not an investment recommendation.
Inputs: sort, limit, order, cursor, +2 more.
list_blocked_domainsList blocked domainsA
List domains reported for fraudulent Stellar-related activity. Paginated Horizon-style response. Prefer check_blocked_domain for a single hostname.
Inputs: limit, order, cursor, search.
list_directory_entriesList Directory entriesA
Search the StellarExpert curated Directory of well-known accounts. Filter by address list, tags (exchange, anchor, issuer, wallet, custodian, malicious, unsafe, personal, sdf, memo-required, airdrop, defi), or a search string (name/domain/address, min 5 chars). Use for reverse lookups, scam checks (tag malicious/unsafe), and labeling counterparties.
Inputs: tag, limit, order, cursor, +2 more.
list_directory_tagsList Directory tagsA
List all Directory tag categories (name + description) used to classify well-known and reported accounts.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Most tools target clearly distinct resources: directory (tags/entries/single lookup), blocked domains (list/check), assets (list/rating/supply/holders/rank), and ledger-time conversions. Slight overlap exists between list_directory_entries and get_directory_entry, and between list_assets and get_asset_rating, but descriptions explicitly steer the agent toward the right tool (e.g. 'prefer check_blocked_domain for a single hostname').
Almost all tools follow a verb_noun snake_case pattern (list_*, get_*, check_*), with clear parallelism between paired tools (list/check blocked domains, list/get directory entries). The two ledger tools deviate by using a noun-based construction (ledger_sequence_from_timestamp / ledger_timestamp_from_sequence), though they are internally consistent with each other.
Twelve tools is well within a comfortable range and each maps to a distinct lookup operation in the StellarExpert data domain. No filler or redundant tools are apparent.
The surface covers directory lookup, blocked-domain checks, asset discovery/rating/supply/holders, and ledger-time conversion comprehensively for those subdomains. Gaps exist for other plausible StellarExpert data (e.g. trade/market history, payments, account operation listings), but agents can work around most of these via the existing asset and directory tools.
Maintenance
Related MCP Connectors
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Weather, code search, currency & Solana trust scoring as MCP tools. Free, no API key needed.
Pay-per-use tool marketplace for AI agents. Search, price-check, and call APIs via MCP.
Read-only search of 2,189 AI agent tools (MCP servers, x402 APIs) with daily automated trust scores.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceExposes OpenAPI specifications as MCP tools, enabling AI assistants to explore and understand API structures, endpoints, schemas, and documentation through semantic queries.19 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP hosts like Claude and Cursor to query Polymarket data via Falcon AI's external API, including market listings, order books, and trader stats.MIT
- FlicenseAqualityDmaintenanceExposes two MCP tools (discover and execute) that enable agents to query an OpenAPI schema via natural language and execute matched API operations.2-
- AlicenseBqualityBmaintenanceExposes 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.417,210 npmMIT