Koskamo

Muhabbit MCP

Provides exchange security alerts, a hash-chained public event record, and multi-vertical news intelligence for crypto, finance, tech, and Turkish markets. Supports tools for news retrieval, search, sentiment analysis, narrative tracking, and confidence scoring.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Muhabbit MCP logo, by MuhabbitCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Muhabbit
You need:Free routes need no credentialsPaid routes take an API key (X-API-Key), a wallet token (Authorization: Bearer, from SIWE) or a per-call x402 paymentMUHABBIT_API_KEY set for paid and key-gated tools
MCP endpoint (Streamable HTTP)
https://api-production-ba80.up.railway.app/mcp
Vendor documentation

What you can do with it

  • Retrieve latest news across crypto, finance, and tech verticals
  • Search articles with full-text relevance ranking
  • Get exchange hack and drain security alerts
  • Analyze market sentiment and fear & greed indices

Source and maintenance

Community listingRegistry 0.1.0

Protocol and capabilities

Server
muhabbit 0.1.0
MCP protocol
2025-06-18
Tools
17 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Muhabbit is a multi-vertical news intelligence API (crypto, finance, tech, Turkish markets/BIST) with an exchange security incident engine and a hash-chained public record of everything it publishes. Tools are read-only and map 1:1 to REST routes under https://api-production-ba80.up.railway.app (/v1 and /public). Credentials you send to the MCP endpoint (X-API-Key, Authorization: Bearer, or X-PAYMENT for x402) are forwarded to each call. Each tool description ends with its access: free, API key, or paid. Fields under "derived" are model-generated and not advice. Start with muhabbit_alerts (exchange hacks), muhabbit_events (what the wire published) or muhabbit_news.

Tools

17 advertised

muhabbit_news — Latest news
Advertised by the server during the last successful anonymous check.
Advertised read-only

Latest approved news across crypto, finance, tech and Turkish markets. Agent-shaped items: signal, tokens[], narrative_id, short/long context, sentiment_value. Filter by vertical, topic, tokens or time. (Paid route: API key, wallet token, or x402 payment.)

muhabbit_news input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1
    },
    "since": {
      "type": "string",
      "format": "date-time"
    },
    "tokens": {
      "type": "string",
      "maxLength": 200,
      "description": "Comma-separated symbols, e.g. BTC,ETH"
    },
    "category": {
      "type": "string",
      "maxLength": 64,
      "description": "Topic slug from muhabbit_categories"
    },
    "language": {
      "enum": [
        "en",
        "tr"
      ],
      "type": "string"
    },
    "vertical": {
      "enum": [
        "crypto",
        "finance",
        "tech",
        "turkish"
      ],
      "type": "string"
    },
    "min_importance": {
      "type": "number",
      "maximum": 1,
      "minimum": 0
    }
  },
  "additionalProperties": false
}
muhabbit_news annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_search — Search articles
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full-text search over the article corpus with relevance ranking. (Needs an API key or wallet token: X-API-Key or Authorization: Bearer.)

muhabbit_search input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1
    },
    "query": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1
    },
    "vertical": {
      "enum": [
        "crypto",
        "finance",
        "tech",
        "turkish"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
muhabbit_search annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_recap — Recap
Advertised by the server during the last successful anonymous check.
Advertised read-only

Scheduled 1h / 24h / 7d recap for a vertical or all verticals (English). Returns freshness; never generated on demand. (Paid route: API key, wallet token, or x402 payment.)

muhabbit_recap input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "vertical": {
      "enum": [
        "all",
        "crypto",
        "finance",
        "tech",
        "turkish"
      ],
      "type": "string"
    },
    "timeframe": {
      "enum": [
        "1h",
        "24h",
        "7d"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
muhabbit_recap annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_ticker_summary — Ticker summary
Advertised by the server during the last successful anonymous check.
Advertised read-only

24h AI summary of news about one asset symbol (exists for the most-mentioned assets). (Paid route: API key, wallet token, or x402 payment.)

muhabbit_ticker_summary input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "symbol"
  ],
  "properties": {
    "symbol": {
      "type": "string",
      "pattern": "^[A-Za-z0-9.\\-]{1,20}$"
    }
  },
  "additionalProperties": false
}
muhabbit_ticker_summary annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_sentiment_index — Fear & Greed index
Advertised by the server during the last successful anonymous check.
Advertised read-only

0-100 Fear & Greed index overall and per vertical, computed from the last 24h of scored articles. (Needs an API key or wallet token: X-API-Key or Authorization: Bearer.)

muhabbit_sentiment_index input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
muhabbit_sentiment_index annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_sentiment_signals — Sentiment signals
Advertised by the server during the last successful anonymous check.
Advertised read-only

Momentum, volume-weighted, regime and vertical-shift sentiment signals. (Needs an API key or wallet token: X-API-Key or Authorization: Bearer.)

muhabbit_sentiment_signals input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "vertical": {
      "enum": [
        "crypto",
        "finance",
        "tech",
        "turkish"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
muhabbit_sentiment_signals annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_narratives — Narratives
Advertised by the server during the last successful anonymous check.
Advertised read-only

Ranked live narrative clusters by phase, velocity and distinct-source count. Use for themes, rotations, or 'what's the story in crypto right now?' — returns decision-ready rows, not a raw feed. (Needs an API key or wallet token: X-API-Key or Authorization: Bearer.)

muhabbit_narratives input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "vertical": {
      "enum": [
        "crypto",
        "finance",
        "tech",
        "turkish"
      ],
      "type": "string"
    },
    "emerging_only": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
muhabbit_narratives annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_narrative_history — Narrative history
Advertised by the server during the last successful anonymous check.
Advertised read-only

Time series for ONE narrative (15-min captures of phase, velocity, article and source counts). Use after muhabbit_narratives to see how a story's lifecycle evolved — is it accelerating or rolling over? (Needs an API key or wallet token: X-API-Key or Authorization: Bearer.)

muhabbit_narrative_history input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "narrative_id"
  ],
  "properties": {
    "hours": {
      "type": "number",
      "description": "Lookback window in hours (default 48, max 168)"
    },
    "narrative_id": {
      "type": "string",
      "description": "Narrative id from muhabbit_narratives, e.g. 'bitcoin-etf'"
    }
  },
  "additionalProperties": false
}
muhabbit_narrative_history annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_confidence — Confidence score
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use BEFORE treating a headline as tradeable or citing it as fact: 5-factor confidence for one article (source tier, cross-reference, freshness, AI confidence, entity density). (Needs an API key or wallet token: X-API-Key or Authorization: Bearer.)

muhabbit_confidence input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "article_id"
  ],
  "properties": {
    "article_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false
}
muhabbit_confidence annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_cross_reference — Cross-reference
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use when asked 'is this confirmed?' or 'who else is reporting this?' — multi-source validation of an article's claims with entity correlation. (Needs an API key or wallet token: X-API-Key or Authorization: Bearer.)

muhabbit_cross_reference input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "article_id"
  ],
  "properties": {
    "article_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "additionalProperties": false
}
muhabbit_cross_reference annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_categories — Categories
Advertised by the server during the last successful anonymous check.
Advertised read-only

Verticals and currently active topic slugs. The anonymous token from GET /auth/public-token is enough. (Needs an API key or wallet token: X-API-Key or Authorization: Bearer.)

muhabbit_categories input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
muhabbit_categories annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_alerts — Exchange security alerts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Exchange hack and drain alerts from Muhabbit's incident engine (large outflows to unlabelled wallets, withdrawal halts, security-researcher posts, exchange statements). One item per incident: tier (suspected = unconfirmed, confirmed), exchange, headline, USD at risk, assets, evidence signals and sources, a timeline with named clocks, and links to its hash-chained public record entries. Newest update first. Use for 'is an exchange being hacked right now?' or 'any exchange incidents since T?'. Informational, not advice. (Free when tier is confirmed, the default; that feed needs no credentials and returns at most 20. Otherwise paid: x402 payment, or an API key or wallet token on a paid plan.)

muhabbit_alerts input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "tier": {
      "enum": [
        "suspected",
        "confirmed",
        "all"
      ],
      "type": "string",
      "default": "confirmed",
      "description": "confirmed (free): confirmed incidents only. suspected (paid): unconfirmed incidents, published before confirmation. all (paid): both."
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Max alerts, 1-100 (default 20). The free confirmed feed returns at most 20."
    },
    "since": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 instant, e.g. 2026-10-29T00:00:00Z. Only alerts updated (new evidence or a tier change) at or after it, on the engine's detection clock. An update can become visible a few seconds after its updated_at, so when polling pass your previous poll time minus 60s and dedupe on (id, tier, updated_at)."
    },
    "exchange": {
      "enum": [
        "binance",
        "coinbase",
        "kraken",
        "okx",
        "bybit",
        "bitfinex",
        "bitstamp",
        "htx",
        "gemini",
        "kucoin",
        "gateio",
        "bitget",
        "upbit",
        "bithumb",
        "cryptocom",
        "robinhood",
        "deribit",
        "mexc",
        "bitmex",
        "uphold",
        "revolut",
        "poloniex",
        "coinone",
        "wazirx"
      ],
      "type": "string",
      "description": "Exchange key, lowercase, e.g. binance, okx, bybit, bitget, coinbase"
    }
  },
  "additionalProperties": false
}
muhabbit_alerts annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_alert — One exchange security alert
Advertised by the server during the last successful anonymous check.
Advertised read-only

One exchange security alert with its evidence signals, sources and timeline. Takes the id from muhabbit_alerts, or the article_id of an alert headline seen in muhabbit_events. A confirmed alert is free; an unconfirmed (suspected) one answers 403 alert_unconfirmed unless include_unconfirmed is true, which reads the paid route. (Free when include_unconfirmed is false, the default, and the alert is confirmed. Otherwise paid: x402 payment, or an API key or wallet token on a paid plan.)

muhabbit_alert input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "id"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Alert id (incident uuid) or one of its article uuids"
    },
    "include_unconfirmed": {
      "type": "boolean",
      "description": "true reads the paid route, which also serves suspected (unconfirmed) alerts"
    }
  },
  "additionalProperties": false
}
muhabbit_alert annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_events — Public market-event feed
Advertised by the server during the last successful anonymous check.
Advertised read-only

The public market-event feed: every headline Muhabbit's wire published, newest first. Each item is an entry of the hash-chained public record with three clocks in UTC ms (source_at = publisher, detected_at = our ingest, published_at = our publication), focus tags, a category and impact 0-100. Covers exchange listings, US CPI, jobs and Fed, crypto, macro and tech. Exchange security alert headlines appear here too (suspected ones start with 'Unconfirmed:'; their evidence is in muhabbit_alerts). Page with next_cursor. (Free: no credentials needed.)

muhabbit_events input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Events per page, 1-20 (default 20)"
    },
    "cursor": {
      "type": "string",
      "maxLength": 256,
      "minLength": 1,
      "description": "next_cursor from the previous page"
    },
    "categories": {
      "type": "array",
      "items": {
        "enum": [
          "listings",
          "cpi",
          "jobs",
          "fed",
          "crypto",
          "macro",
          "tech"
        ],
        "type": "string"
      },
      "minItems": 1,
      "description": "Keep only these categories: listings (exchange listings), cpi, jobs, fed (US macro prints), crypto, macro, tech"
    },
    "min_impact": {
      "type": "integer",
      "maximum": 100,
      "minimum": 0,
      "description": "Keep events with impact at or above this (0-100). Above 0 drops events whose impact is unknown."
    }
  },
  "additionalProperties": false
}
muhabbit_events annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_record_head — Public record head
Advertised by the server during the last successful anonymous check.
Advertised read-only

Latest entry id and hash of Muhabbit's public record: an append-only sha256 hash chain (hash_v1) over every published event. Pin the head now; muhabbit_record_verify later proves nothing up to it was rewritten. null on an empty record. (Free: no credentials needed.)

muhabbit_record_head input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
muhabbit_record_head annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_record_entries — Public record entries
Advertised by the server during the last successful anonymous check.
Advertised read-only

Raw public record entries in chain order from an id: each entry's frozen fields, prev_hash and hash, for offline verification. hash = sha256 over the canonical JSON bytes followed by prev_hash; the exact recipe is in /public/events/{id}/proof. Page with next_from. (Free: no credentials needed.)

muhabbit_record_entries input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "from": {
      "type": "string",
      "description": "First entry id (default 1)"
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Entries, 1-100 (default 100)"
    }
  },
  "additionalProperties": false
}
muhabbit_record_entries annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}
muhabbit_record_verify — Verify the public record
Advertised by the server during the last successful anonymous check.
Advertised read-only

Recompute the public record's hash chain server-side over [from, to], at most 1000 entries (no bounds: the latest 1000). Returns ok, checked and head_hash, or the first broken id and the reason (prev_hash_mismatch, hash_mismatch, endpoint_missing). Limited to 5 calls a minute per client. (Free: no credentials needed.)

muhabbit_record_verify input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "to": {
      "$ref": "#/properties/from",
      "description": "Last entry id to check, e.g. a head id you pinned"
    },
    "from": {
      "type": "string",
      "description": "First entry id to check"
    }
  },
  "additionalProperties": false
}
muhabbit_record_verify annotations
{
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

agent-card — Muhabbit agent card

Advertised by the server during the last successful anonymous check.

Endpoints, auth schemes, x402 networks and prices.

agent-card URI
https://api-production-ba80.up.railway.app/.well-known/agent-card.json

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1710 ms
95th percentile latency
1710 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1710 ms · metadata changed · 17 tool(s), 1 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http muhabbit-mcp https://api-production-ba80.up.railway.app/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add muhabbit-mcp --url https://api-production-ba80.up.railway.app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable muhabbit-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "muhabbit-mcp": {
      "url": "https://api-production-ba80.up.railway.app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "muhabbit-mcp": {
      "type": "streamableHttp",
      "url": "https://api-production-ba80.up.railway.app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start muhabbit-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "muhabbit-mcp": {
      "type": "http",
      "url": "https://api-production-ba80.up.railway.app/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http muhabbit-mcp https://api-production-ba80.up.railway.app/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "muhabbit-mcp": {
      "url": "https://api-production-ba80.up.railway.app/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "muhabbit-mcp": {
      "serverUrl": "https://api-production-ba80.up.railway.app/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Muhabbit MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.