Journely Markets MCP server
Plug Journely's markets data into any MCP-aware AI tool — Claude Desktop, Cursor, Cline, Continue, Goose, or your own agent. Same data as the REST API, same authentication, same rate limits.
Endpoint
POST https://api.journely.me/api/v1/journely/mcp
Transport: Streamable HTTP (the current MCP transport, as defined in spec
revision 2025-06-18). Stateless — every request is independent. Authentication
is your personal access token, the same one used by the REST API.
Available tools
| Tool name | Returns |
|---|---|
get_macro_indicators | Macro indicator panel (GDP, inflation, labor, etc.) for a country, optionally filtered by category. view=key returns ~12 headline indicators in one small call. Every row carries its unit and period (the month it refers to); responses carry data_timestamp and stale. |
get_macro_forecast | Forward-looking macro forecasts for a country. |
get_macro_calendar | Economic events for US / JP / VN about two weeks ahead (FOMC, BoJ, CPI, NFP, GDP) with exact datetime_utc, reference period and previous / consensus / forecast / actual. days_back / days_ahead set a UTC day window (days_ahead=0 = today only). |
get_market_prices | Commodities (oil, gas, metals, agri…), 10Y government yields and the US / JP / VN yield curves from TradingEconomics, every 3 hours, each row dated. |
get_sector_overview | US: the provider's sector (11) / industry (~145) aggregates — P/E, dividend yield, margin, 1D/1Y change. JP / VN: the sector / industry names with stock counts (no aggregates upstream). |
screen_stocks | List and rank the stocks of a sector or industry, or US / JP ETFs by theme (AUM, expense ratio, category, total return), or compare up to 30 named tickers — raw provider figures in one call. |
get_stock_overview | Per-ticker overview + quote, live — full US/JP/VN coverage, any symbol. |
get_stock_statements | Income statement, balance sheet, cash flow, or ratios (ROIC, FCF yield, EV/EBIT, etc.) for a ticker — annual or quarterly, fetched live. |
get_stock_forecast | Analyst consensus estimates, price targets, rating trend, and per-analyst track record for a ticker. |
get_stock_price_history | Closing-price history — full daily series for US, ~1 year of daily points plus a longer-horizon snapshot for JP/VN. |
get_earnings_calendar | Upcoming earnings-report dates (BMO/AMC, EPS/revenue estimates, market cap) for a comma-separated list of US tickers — pull your watchlist's next reports into a calendar. |
Top-down workflow: get_macro_indicators
→ get_macro_calendar → get_market_prices → get_sector_overview → screen_stocks → get_stock_overview → get_stock_statements
→ get_stock_forecast / get_stock_price_history.
get_earnings_calendar is a separate cross-cutting utility, not part of that sequence.
Each tool returns the same JSON payload its REST counterpart does — see the
REST reference for response shapes. Your client
receives both a text content block (for older MCP clients) and a structured
structuredContent object (preferred where supported).
Setup — Claude Desktop
Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Remote HTTP
MCP servers are configured under mcpServers with a url entry.
{
"mcpServers": {
"journely-markets": {
"url": "https://api.journely.me/api/v1/journely/mcp",
"headers": {
"Authorization": "Bearer jrn_live_YOUR_TOKEN_HERE"
}
}
}
}
Restart Claude Desktop. The 9 Journely tools become available to Claude inside any chat — ask for "AAPL's latest financials" or "the US inflation outlook" and it will call the appropriate tool.
Setup — Cursor
Cursor configures MCP servers via ~/.cursor/mcp.json (global) or
.cursor/mcp.json in your project root.
{
"mcpServers": {
"journely-markets": {
"url": "https://api.journely.me/api/v1/journely/mcp",
"headers": {
"Authorization": "Bearer jrn_live_YOUR_TOKEN_HERE"
}
}
}
}
Setup — Cline / Continue / Goose
All MCP-compliant clients accept the same Streamable HTTP server URL +
Authorization header pair. Consult your client's docs for where to put
the JSON snippet above; the values are identical.
Raw protocol — curl example
If you're building a custom client or just want to verify connectivity:
curl -X POST https://api.journely.me/api/v1/journely/mcp \
-H "Authorization: Bearer jrn_live_YOUR_TOKEN_HERE" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_macro_indicators",
"arguments": { "country": "US", "category": "prices" }
}
}'
Rate limits
Only tools/call consumes quota. initialize, tools/list,
and ping are free, so your client's handshake never burns daily calls. Limits
match the REST API:
| Plan | Daily | Hourly |
|---|---|---|
| Free | 100 | 30 |
| Pro | 5,000 | 500 |
| Max | 50,000 | 5,000 |
Every response carries X-RateLimit-Limit, X-RateLimit-Remaining,
and X-RateLimit-Reset headers. On denial: a tool result with isError: true,
error.type = unavailable and error.retry_after_seconds.
Errors
Every tool failure is a tool result with isError: true whose text is
{"error": {"type", "message", "fix", "supported"?, "did_you_mean"?, "example"?, "retry_after_seconds"?, "detail"?}}.
type: invalid_argument (fix the argument — see supported /
did_you_mean / example — and call again), not_found,
unavailable (backend down or rate limited: retry later). JSON-RPC error codes are for protocol faults only:
| Code | Meaning |
|---|---|
-32700 | Parse error — body wasn't valid JSON. |
-32600 | Invalid Request — missing jsonrpc field or malformed envelope. |
-32601 | Method not found — unknown JSON-RPC method or tool name. |
-32602 | Invalid params — missing required arguments. |
-32603 | Internal server error. |
Authentication failures (missing / invalid token) are surfaced as HTTP 401 before the JSON-RPC dispatcher runs — clients that ignore HTTP status codes will see no response body for these.
Business-logical errors from the tools themselves (unknown country, missing ticker, etc.)
come back as a normal tool result with isError: true — the model sees them and
can react.
Spec reference:
modelcontextprotocol.io/specification
· Protocol version 2025-06-18