Skip to main content

Overview

The Syra MCP Server exposes the Syra API as Model Context Protocol (MCP) tools for AI assistants. Access crypto news, events, sentiment, signals, research, token reports, memecoin screens, and more—directly from your AI chat in Cursor, Claude Desktop, or any MCP-compatible client. Source Code: Located in mcp-server/ directory of the Syra monorepo

What is MCP?

The Model Context Protocol (MCP) is a standard that allows AI assistants to access external tools and data sources. The Syra MCP server translates MCP tool calls into HTTP requests to the Syra API.

How It Works

  1. AI assistant (e.g., Cursor) calls a tool like syra_v2_news
  2. MCP server receives the request via stdio (standard input/output)
  3. Server builds API URL: GET https://api.syraa.fun/news?ticker=BTC
  4. Fetches data and returns response to the assistant

Features

  • 30+ MCP Tools covering the full Syra API
  • Configurable Base URL — point to production or local API
  • Optional Dev Routes — bypass x402 payment during development
  • stdio Transport — runs as subprocess, no HTTP server needed
  • Compatible with Cursor, Claude Desktop, and any MCP client

Available Tool Categories

  • syra_v2_news — Latest crypto news (optional ticker: BTC, ETH, general)
  • syra_v2_event — Upcoming and recent crypto events
  • syra_v2_sentiment — Market sentiment analysis (30 days)
  • syra_v2_trending_headline — Trending crypto headlines
  • syra_v2_signal — AI-generated trading signals with entry/exit recommendations
  • syra_v2_research — AI-powered deep research (quick/deep mode)
  • syra_v2_browse — Web browsing and information extraction
  • syra_v2_x_search — Deep research on X/Twitter trends
  • syra_v2_exa_search — EXA AI web search
  • syra_v2_token_report — Rugcheck token report
  • syra_v2_token_risk_alerts — Tokens above risk threshold
  • syra_v2_token_god_mode — Nansen token deep research
  • syra_v2_bubblemaps_maps — Holder/concentration maps
  • syra_v2_x_kol — KOL analysis by Solana token address
  • syra_v2_check_status — API health check
  • syra_v2_sundown_digest — Daily crypto roundup
  • syra_v2_gems — Hidden gem projects trending on X
  • syra_v2_crypto_kol — Insights from top crypto KOLs
  • syra_v2_smart_money — Smart money tracking
  • syra_v2_dexscreener — DEXScreener data
  • syra_v2_trending_jupiter — Trending tokens on Jupiter
  • syra_v2_analytics_summary — Full analytics summary
  • syra_v2_memecoin_fastest_holder_growth — Fastest growing memecoins
  • syra_v2_memecoin_most_mentioned_smart_money_x — Smart money mentions
  • syra_v2_memecoin_accumulating_before_cex_rumors — Pre-CEX accumulation
  • syra_v2_memecoin_strong_narrative_low_mcap — Strong narrative + low mcap
  • And 5 more memecoin screening tools…

Prerequisites

RequirementDetails
Node.jsVersion 18 or higher
Syra APIProduction (https://api.syraa.fun) or local (http://localhost:3000)
PaymentProduction endpoints use x402; local testing can use dev routes
MCP ClientCursor, Claude Desktop, or any stdio-compatible MCP client

Installation

1

Clone the Repository

Ensure you have the Syra monorepo (or at least the mcp-server folder):
cd mcp-server
2

Install Dependencies

Install required packages and build TypeScript:
npm install
npm run build
This compiles TypeScript to dist/index.js.
3

Verify Installation

Test that the server starts (press Ctrl+C to stop):
node dist/index.js
The process should run without errors.

Configuration

Configuration uses environment variables. Copy .env.example to .env and edit as needed.

Environment Variables

VariableDescriptionDefaultExample
SYRA_API_BASE_URLBase URL of Syra API (no trailing slash)https://api.syraa.funhttp://localhost:3000
SYRA_USE_DEV_ROUTESAppend /dev to API paths (local testing only)not settrue

Example: Local Testing (No Payment)

SYRA_API_BASE_URL=http://localhost:3000
SYRA_USE_DEV_ROUTES=true

Example: Production

SYRA_API_BASE_URL=https://api.syraa.fun
# Do not set SYRA_USE_DEV_ROUTES for production
Dev routes should only be used with a local API during development. Do not use SYRA_USE_DEV_ROUTES=true with the production API.

Setting Up in Cursor

1

Open Cursor Settings

Go to File → Preferences → Cursor Settings (or search for “MCP”).
2

Add MCP Server

Configure the server using stdio transport:Windows:
{
  "mcpServers": {
    "syra": {
      "command": "node",
      "args": ["D:\\business\\syra-monorepo\\mcp-server\\dist\\index.js"],
      "env": {
        "SYRA_API_BASE_URL": "http://localhost:3000",
        "SYRA_USE_DEV_ROUTES": "true"
      }
    }
  }
}
macOS/Linux:
{
  "mcpServers": {
    "syra": {
      "command": "node",
      "args": ["/home/user/syra-monorepo/mcp-server/dist/index.js"],
      "env": {
        "SYRA_API_BASE_URL": "http://localhost:3000",
        "SYRA_USE_DEV_ROUTES": "true"
      }
    }
  }
}
Replace the path with your actual mcp-server/dist/index.js location.
3

Restart Cursor

Restart Cursor or use “Reload MCP” to load the new server.
4

Test the Integration

In the AI chat, ask: “Get the latest crypto news” or “Fetch Syra news for BTC.”The assistant will call syra_v2_news and return results.

Setting Up in Claude Desktop

1

Find Config File

Locate your Claude Desktop MCP config:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
2

Add Syra Server

Edit the config file:
{
  "mcpServers": {
    "syra": {
      "command": "node",
      "args": ["C:\\path\\to\\syra-monorepo\\mcp-server\\dist\\index.js"],
      "env": {
        "SYRA_API_BASE_URL": "http://localhost:3000",
        "SYRA_USE_DEV_ROUTES": "true"
      }
    }
  }
}
3

Restart Claude Desktop

Close and reopen Claude Desktop to load the server.

Example Prompts

Once connected, try these prompts in your AI assistant:
  • “Get the latest crypto news.”
  • “Fetch Syra news for BTC.”
  • “What are the upcoming crypto events?”
  • “Get market sentiment for ETH.”
  • “Give me the sundown digest.”
  • “What’s trending on Jupiter?”
  • “Get the full analytics summary.”
  • “Deep research on Solana DeFi trends.”
  • “Search X for Syra agent discussions.”
  • “Rugcheck token report for address [address].”
  • “Binance correlation for ETHUSDT.”
  • “Memecoins with fastest holder growth.”

Payment & Dev Routes

Production API

The production API at https://api.syraa.fun uses x402 for many endpoints. Without valid payment headers, you’ll receive 402 Payment Required responses. The MCP server does not add payment headers—it only forwards requests. For production access:
  • Use the API Playground to handle payments
  • Implement x402 payment in your client setup
  • Or use local API with dev routes for testing

Dev Routes (Local Testing)

When SYRA_USE_DEV_ROUTES=true and pointing to a local API:
  • Paths become: /news/news/dev
  • Your local API can skip payment verification for /dev routes
  • Only use with local/non-production APIs
ScenarioBase URLUSE_DEV_ROUTESResult
Local testinghttp://localhost:3000truePaths use /dev, may skip payment
Productionhttps://api.syraa.funnot setNo /dev, requires x402 payment

Troubleshooting

  • Production API requires x402 payment
  • Use local API with SYRA_USE_DEV_ROUTES=true
  • Or implement x402 payment via API Playground
  • Ensure Syra API is running and reachable at SYRA_API_BASE_URL
  • For localhost, server must run on same machine
  • Check firewall settings
  • Restart the application or reload MCP
  • Verify path to dist/index.js in config
  • Run node dist/index.js manually to check for errors
  • Ensure Node.js 18+ is installed
  • Check env settings in MCP client config
  • Server reads process.env at startup
  • Verify both SYRA_API_BASE_URL and SYRA_USE_DEV_ROUTES values

Development

Source Files

  • Source: src/index.ts
  • Build: npm run build → outputs to dist/
  • Dev mode: npm run dev (uses tsx for live TypeScript)

Adding New Tools

  1. Open src/index.ts
  2. Add tool using server.tool(name, description, schema, handler)
  3. Define Zod schema for parameters
  4. Implement handler to call fetchV2(path, params)
  5. Run npm run build and test
Example:
server.tool(
  "syra_v2_custom_tool",
  "Description of what this tool does",
  {
    param1: z.string().optional().default("default_value"),
  },
  async ({ param1 }) => {
    const { status, body } = await fetchV2("/custom-endpoint", { param1 });
    return {
      content: [{ type: "text", text: formatToolResult(status, body) }],
    };
  }
);

Next Steps

API Playground

Test endpoints with x402 payments

Telegram Bot

Access Syra via Telegram

x402 Agent

Deploy autonomous agents

API Reference

Full API endpoint documentation

Build docs developers (and LLMs) love