FocusPulse for developers

Two ways in: an MCP server that brings market-linked news into your AI client, and a REST API for your own services.

MCP Server

A hosted, remote Model Context Protocol server. Claude, ChatGPT, Cursor and any other MCP client can ask it for news stories for India and the United States that are linked to a listed company, a commodity, an index, the rupee or a central bank's policy rate, each with the publications that reported it.

Free beta. No account needed. A free key, sent by email, is optional and raises the limit. There is nothing to install. It is news information, not investment advice.

Full MCP documentation

Connect

Add this address as a remote MCP server (Streamable HTTP) in your client:

https://mcp.focuspulse.pro/mcp

Or, for clients configured by file:

{
  "mcpServers": {
    "focuspulse": {
      "url": "https://mcp.focuspulse.pro/mcp"
    }
  }
}

Four tools

search_stories

The most relevant stories for a country, or the stories that mention your words.

list_instruments

Which companies, commodities, indices, currency and policy rates have a story now, and how many.

get_instrument_stories

The stories linked to one instrument, newest first. A name we do not cover is reported as unknown.

get_story

One story by its id, with up to ten sources and earlier stories on the same instruments.

All four only read; none changes anything. Inputs and results for each are in the full MCP documentation.

search_stories

country
"IN" or "US", required

The market the story affects.

query
text, optional

Words to look for: a company, a commodity or a topic, such as "crude oil" or "Reliance".

hours
1 to 48, default 24

How far back to look.

limit
1 to 10, default 5

Stories per page.

cursor
text, optional

The next_cursor of the previous page of the same search.

Each story has a headline, a summary, one sentence on what the story reports about the instruments it is linked to, the instruments themselves, and up to three sources with links.

Limits

60 requests a minute and 2,000 a day from one address. Exceeding either returns a readable error with a Retry-After header.

Coverage window

FocusPulse keeps a rolling 48 hours of stories. A longer lookback is rejected by the tool rather than quietly shortened. Only stories that pass our relevance check are returned, so a quiet day returns few, and coverage of the United States is thinner than coverage of India.

B2B REST API

Authentication

Every request carries an np_ key in a header. Keys are generated in the chat interface with /api → the B2B REST tab, and shown exactly once — only a hash is stored, so a lost key is replaced rather than recovered.

Base: https://www.focuspulse.pro/api/v1
x-api-key: np_your_secret_key_here

REST access is part of the Elite plan, and entitlement is re-checked on every request rather than only when the key is issued. Elite is not on sale yet, so new REST keys cannot be issued today — the MCP server above is the route in, and it needs no plan or key.

GET/events

The latest clustered events, newest first.

Query Parameters

  • limit (optional): integer up to 100. Default 50.

Example Response

{
  "events": [
    {
      "event_id": "8f3c…",
      "event_title": "RBI holds repo rate at 5.50%",
      "event_summary": "…",
      "importance_score": 92,
      "created_at": "2026-09-08T04:31:00Z",
      "event_entities": [
        { "entity_type": "organization", "entity_name": "RBI" }
      ]
    }
  ]
}
GET/briefings

Your ten most recent briefings, as structured JSON. Scoped to the account that owns the key — a briefing belongs to exactly one user and is never served to another.

Example Response

{
  "briefings": [
    {
      "briefing_id": "b1a2…",
      "briefing_date": "2026-09-08",
      "delivery_time": "morning",
      "generated_at": "2026-09-08T02:30:00Z",
      "briefing_structured": { "sections": [...] }
    }
  ]
}
501/mitaUnavailable

Company-level MITA analysis is being rebuilt on real ticker data and currently returns 501 NOT_IMPLEMENTED.

Rate Limits

B2B keys are limited to 60 requests per minute. Exceeding it returns 429 Too Many Requests with a Retry-After header.