MCP server for market & security intelligence

The Velocity MCP server

Connect Claude, ChatGPT, Codex, OpenClaw, or any agent to 14 read-only tools for trend search, intel briefs, real-time CVE alerts, and threat-actor lookups — over Streamable HTTP.

Tools
14
Tools
All read-only
Transport
HTTP
Transport
Streamable, JSON-RPC 2.0
Protocol
2025‑11‑25
Protocol
Negotiates older too
API key
vel_*
API key
SHA-256 stored, never plaintext
Endpoint

One URL, Streamable HTTP, JSON-RPC 2.0

Implemented directly against the MCP spec for the Next.js App Router runtime.

Endpoint
https://velocity.andiamo.tech/api/agents/mcp
Transport

Streamable HTTP — a single endpoint, one JSON-RPC request per POST. Lifecycle: initialize notifications/initialized tools/list / tools/call.

Protocol version

Negotiates 2025-11-25, also 2025-06-18 and 2025-03-26.

Auth

X-MCP-Key: vel_… (Claude Code / OpenClaw) or Authorization: Bearer vel_… (Codex, OpenAI Responses, ChatGPT).

Tools

14 read-only tools

search and fetch use the canonical retrieval shape the OpenAI / ChatGPT remote-MCP ecosystem probes for.

The 14 Velocity MCP tools, their descriptions, and minimum tiers
ToolDescriptionMin tier
searchCanonical retrieval: search active trends, return { results: [{ id, title, url, text, metadata }] }Free
fetchCanonical retrieval: fetch one trend by id, return { id, title, text, url, metadata }Free
velocity_search_trendsSearch trends by keyword, category, or velocity scoreFree
velocity_trend_detailsFull detail plus recent velocity history for one trendFree
velocity_intel_briefTop / emerging trends and a category breakdown for a windowFree
velocity_watchlist_alertsList threshold breaches on the caller’s own watchlistsFree
velocity_momentum_checkWhether a trend is accelerating, plateauing, or fadingPro
velocity_correlation_lookupPearson correlation of a trend’s velocity history vs. othersPro
security_vuln_lookupLook up a CVE / GHSA advisory and its detailsFree
security_build_stack_from_fileParse a dependency / lockfile into a watched tech stackFree
security_list_stack_watchList the tech stack the caller is watchingFree
security_subscribe_stack_hitsSubscribe so the agent is alerted when a new CVE matches the watched stackPro
threat_actor_lookupLook up an APT / threat-actor group, aliases, origin, motivation, TTPsFree
threat_actor_searchSearch 200+ threat actors from MITRE ATT&CK, MISP, and CISAFree

Each tool ships a strict JSON Schema (additionalProperties: false, bounded strings / numbers / enums), validated server-side on every call.

Get a key

Mint an X-MCP-Key

Keys are scoped to the issuing user; every tool call is authorized as that user.

  1. Sign in to Velocity and open the Agent Hub at /agents.
  2. In the API Keys tab, enter a label and click Generate key.
  3. Copy the vel_* key immediately — it is shown only once. Velocity stores only a SHA-256 hash, never the plaintext.

Treat the key like a password: never commit it, log it, or put it in a URL. If a key is exposed, revoke it from the API Keys tab — revoking takes effect immediately.

Setup

Connect your client

Exact snippets for Claude Code, the OpenAI Responses API, and ChatGPT Developer Mode.

Claude Code

claude mcp addbash
# Options come BEFORE the positional name + url
claude mcp add --transport http \
  --header "X-MCP-Key: vel_your_api_key" \
  velocity https://velocity.andiamo.tech/api/agents/mcp

OpenAI Responses API (remote MCP)

responses.createts
import OpenAI from 'openai';

const client = new OpenAI();

const response = await client.responses.create({
  model: 'gpt-5',
  tools: [
    {
      type: 'mcp',
      server_label: 'velocity',
      server_url: 'https://velocity.andiamo.tech/api/agents/mcp',
      require_approval: 'never',
      authorization: process.env.VELOCITY_MCP_KEY,
    },
  ],
  input: 'Search Velocity for the biggest trending security stories and brief me.',
});

ChatGPT Developer Mode

Connector settingstext
# ChatGPT Developer Mode → add a Streamable HTTP connector
Server URL:  https://velocity.andiamo.tech/api/agents/mcp
Header:      Authorization: Bearer vel_your_api_key

Pasting a long-lived key into a hosted ChatGPT connector is appropriate for internal testing. Publishing a connector to other accounts requires OAuth 2.1 with PKCE and dynamic client registration — a separate follow-up. The X-MCP-Key / Bearer flow works for Claude Code, OpenClaw, Codex, and the Responses API regardless.

Verify

Smoke test the connection

Raw JSON-RPC against the live endpoint — initialize, list, and a safe read-only call.

smoke-test.shbash
KEY="vel_your_api_key"
URL="https://velocity.andiamo.tech/api/agents/mcp"

# 1. initialize
curl -s -X POST "$URL" \
  -H "Content-Type: application/json" -H "X-MCP-Key: $KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25"}}'

# 2. tools/list
curl -s -X POST "$URL" \
  -H "Content-Type: application/json" -H "X-MCP-Key: $KEY" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

# 3. tools/call (safe, read-only)
curl -s -X POST "$URL" \
  -H "Content-Type: application/json" -H "X-MCP-Key: $KEY" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"velocity_search_trends","arguments":{"query":"ai","limit":3}}}'
Errors

JSON-RPC error codes

Protocol-level problems return a JSON-RPC error; tool-domain failures return isError: true with a generic message.

JSON-RPC error codes returned by the MCP server
CodeMeaning
-32700Parse error (invalid JSON)
-32600Invalid request (bad JSON-RPC / unsupported protocol version)
-32601Method not found
-32602Invalid params (unknown tool, invalid arguments)
-32603Internal error
-32000Rate limit exceeded
-32001Unauthorized
FAQ

MCP server questions

  • What is the Velocity MCP server endpoint?

    The Model Context Protocol server is at https://velocity.andiamo.tech/api/agents/mcp. It uses the Streamable HTTP transport — a single endpoint that takes a POST per JSON-RPC request — and negotiates protocol version 2025-11-25 (falling back to 2025-06-18 or 2025-03-26).
  • How do I authenticate?

    With a vel_* API key. Send it as X-MCP-Key (Claude Code / OpenClaw native) or as Authorization: Bearer (Codex, OpenAI Responses API, ChatGPT Developer Mode). If both headers are sent and disagree, the request is rejected. Velocity stores only a SHA-256 hash of the key, never the plaintext, and every tool call is authorized as the issuing user.
  • Where do I get an X-MCP-Key?

    Sign in to Velocity, open the Agent Hub at /agents, go to the API Keys tab, label a key, and generate it. Copy the vel_* key immediately — it is shown only once. Treat it like a password; revoking a key from the API Keys tab takes effect immediately.
  • Which MCP clients are supported?

    Claude Code and OpenClaw connect natively with X-MCP-Key. Codex, the OpenAI Responses API, and ChatGPT Developer Mode connect with Authorization: Bearer. Because the server exposes the canonical search and fetch tools the OpenAI / ChatGPT ecosystem probes for, it also slots into Responses-API remote MCP and deep-research workflows.
  • Are the tools safe to expose to an autonomous agent?

    Yes — all 14 tools are read-only (readOnlyHint: true). Each ships a strict JSON Schema with additionalProperties:false and bounded inputs, validated on every call; unknown or out-of-range fields are rejected with a JSON-RPC -32602 error. search and fetch only ever return active, public trend fields and never echo user-supplied URLs.
  • What are the rate limits?

    tools/call is rate-limited per user by subscription tier. Exceeding the limit returns HTTP 429 with a Retry-After header (or a -32000 rate-limit error). GET and DELETE on the endpoint return HTTP 405 — there is no SSE stream or session termination on the MCP transport itself.

Connect an agent to Velocity in minutes

Mint a vel_* key, add the Streamable HTTP server to your client, and run the smoke test above.