Skip to main content
The Noonum MCP server exposes Noonum strategy and company analytics to MCP-compatible LLM clients (Claude Desktop, Cursor, and similar). It offers a subset of the Noonum REST API surface as MCP tools, long-running tasks, and prompts.
Value
Base URLhttps://api.noonum.ai/v1/mcp
TransportStreamable HTTP
REST API basehttps://api.noonum.ai/v1

Connecting

Point your MCP client at the base URL above over the MCP Streamable HTTP transport. No SSE or custom-protocol configuration is required. For a walkthrough of adding the server to Claude Code, Claude Desktop, Cursor, or a similar client, see MCP client setup.

Authentication

Every request carries Authorization: Bearer <token>, where <token> is either a Noonum API key or an Auth0 access token. The API-key method needs no OAuth round-trip and suits server-side and CLI integrations. The Auth0 method uses the OAuth 2.0 Authorization Code flow with PKCE, handled automatically by the client. The OAuth reference values (discovery, issuer, audience, JWKS) and a per-client walkthrough live on MCP client setup. For API keys, see Authentication. API-key authentication failures return a standard 401 Unauthorized; OAuth failures cause the client to re-initiate the authorization flow. Both are covered under Troubleshooting.

What your agent can access

Once connected, an agent acts as you and can:
  • Read your strategies, their ranked companies, conviction scores, evidence and reasoning, factsheets, and historical analytics.
  • Read public data (premade strategies and company search) available to any authenticated user.
  • Create, update, and delete your own strategies, and run analytics on them.
The Noonum MCP server is an analytics surface: it returns research and rankings. It does not place trades, move money, or connect to any brokerage account. There are no order, balance, or position tools, and none can be added through this server. Access falls into two tiers:
  • Private: your strategies and their results, scoped to your account. This covers the strategy CRUD tools, get_strategy_companies, get_strategy_evidences, and the historical-data tools.
  • Public: list_premade_strategies and search_companies, shared across all authenticated users.
Most tools are read-only. A few change state or consume resources: create_strategy, update_strategy, delete_strategy, and submit_strategy modify your strategies, and request_strategy_historical_data consumes credits and is rate-limited.

Disclaimer

Noonum tools return informational research and analytics. This is not investment advice and not a recommendation to buy or sell any security. Output is not guaranteed to be accurate, complete, or suitable for your purposes. Verify it independently before relying on it, and own any decision you make from it.

Tools

An agent can, on your behalf:
  • Turn an investment objective into a ranked, scored list of companies.
  • Surface the reasoning and evidence behind any company’s placement in a strategy.
  • Filter, sort, and export rankings, and retrieve them as of a past date.
  • Search the company universe and browse premade strategies.
Fifteen synchronous tools are exposed, grouped by domain.

Strategies (CRUD)

  • list_strategies: list the authenticated user’s strategies.
  • get_strategy (strategyId): get a strategy by ID.
  • create_strategy (name, objective, exclusions?): create a new strategy.
  • update_strategy (strategyId, name?, objective?, exclusions?): update strategy metadata (at least one field required).
  • delete_strategy (strategyId): delete a strategy.
  • get_strategy_factsheet (strategyId): get a presigned URL to the factsheet PDF.

Strategy results

  • get_strategy_evidences (strategyId): all reasoning and evidence for companies in a strategy.
  • get_strategy_company (strategyId, companyId): reasoning and evidence for a single company.
  • get_strategy_companies (strategy_id, filters?, sort_by?, sort_order?, page?, page_size?, include_reasoning?): ranked companies returned as a markdown table.
  • download_strategy_companies (strategy_id, include_reasoning?): all companies returned as a CSV string.
  • get_strategy_historical_data_dates (strategyId): list the dates for which historical data is available.
  • get_strategy_historical_data (strategyId, date, includeReasoning?, scoringMinMarketCap?): ranked companies as of a specific historical date.
  • request_strategy_historical_data (strategyId, dates, priority?): trigger generation of historical data for the given dates. Consumes credits and is rate-limited.

Premade strategies & helpers

  • list_premade_strategies: all publicly available premade strategies.
  • search_companies (query, limit?): search by name, symbol, ISIN, or FIGI.

Filter syntax

get_strategy_companies and submit_strategy (the latter defined in the Long-running tasks section below) share a filter grammar:
  • Semicolon-separated field:value pairs.
  • String fields (e.g. sector, industry) use comma-separated substring match: sector:Technology,Energy.
  • Numeric fields (marketCap, convictionScore, linguisticBeta, marketBuzz, volAvg) support comparison operators: >, <, >=, <=.
  • Numeric values accept the suffixes T, B, M, K.
  • Example: sector:Technology;marketCap:>1B;convictionScore:>0.3
The metric fields carry these meanings (see Signals and scores for the full glossary):
  • convictionScore: how strongly a company aligns with the strategy objective, 01.
  • linguisticBeta: the company’s exposure to the strategy theme, expressed as a beta around 1.
  • marketBuzz: relative volume of recent narrative attention for the company.
  • volAvg: average trading volume.
sort_by and sort_order accept comma-separated columns for multi-column sorting (e.g. sort_by="sector,convictionScore", sort_order="asc,desc").

Long-running tasks

Some tools run multi-stage server-side pipelines that take several minutes to finish. They are exposed as standard MCP tools, but clients must be prepared to wait and to surface progress events.

submit_strategy

Submit a strategy for pipeline processing and track it through to completion. This runs Noonum’s analytics ranking and scoring pipeline and returns ranked companies. It does not place a trade or execute an order. Parameters: strategy_id, filters?, sort_by?, sort_order?, page?, page_size?. Filter and sort semantics are described in the Filter syntax section above. Returns the ranked companies as a markdown table, identical in shape to the output of get_strategy_companies.

What your client needs to do

  • Expect a slow call. A single invocation can block for up to ten minutes while the pipeline runs. Set your HTTP request timeout at least that high, or the call will be cut short before the pipeline can finish.
  • Listen for progress notifications. Every few seconds the server emits a standard MCP progress notification with an integer percentage (0–100) and a stage label. Surface these to the user.
  • Stage labels. The sequence you will observe is:
    1. Initializing strategy processing
    2. Interpreting investment objective
    3. Contextualizing with billions of market data points
    4. Retrieving and ranking relevant companies
    5. Scoring alignment and exposure metrics
    6. Strategy is ready (emitted at 100% once the markdown table is returned).
  • Errors. If the pipeline fails, the tool returns an MCP error. The strategy is left in an error state; the user can revise the inputs and resubmit.
  • Timeouts. If the pipeline has not finished within roughly ten minutes, the tool returns a timeout error, but the server may still finish processing in the background. Once the strategy has finished, results are retrievable through the synchronous tools (get_strategy_companies, get_strategy_evidences, get_strategy_company) without resubmitting.
  • Concurrent submissions. Submitting a strategy that is already being processed is rejected with an error. Wait for the in-flight run to finish or fail before resubmitting.

Prompts

Four prompt templates the client can render into LLM input.
  • enhance_objective (objective): improve a draft investment objective.
  • reverse_objective (objective): generate the inverse of an investment objective.
  • exclusion_phrases (objective, company_name, company_sector, company_industry, company_description, inclusion_reason): suggest phrases that exclude a given type of company from a strategy.
  • generate_strategy_from_content (content): extract an investment objective from arbitrary text (article, webpage, etc.).

REST API mapping

Each MCP tool is backed by one Noonum REST API endpoint, or a short sequence for long-running tasks. All paths are relative to https://api.noonum.ai/v1.
MCP ToolREST EndpointNotes
list_strategiesGET /strategies
get_strategyGET /strategies/{strategyId}
create_strategyPOST /strategies
update_strategyPATCH /strategies/{strategyId}
delete_strategyDELETE /strategies/{strategyId}
get_strategy_factsheetGET /strategies/{strategyId}/factsheet
get_strategy_evidencesGET /strategies/{strategyId}/evidences
get_strategy_companyGET /strategies/{strategyId}/companies/{companyId}
get_strategy_companiesGET /strategies/{strategyId}/companiesResponse formatted as markdown table
download_strategy_companiesGET /strategies/{strategyId}/companiesResponse formatted as CSV
get_strategy_historical_data_datesGET /strategies/{strategyId}/historical-data/dates
get_strategy_historical_dataGET /strategies/{strategyId}/historical-data
request_strategy_historical_dataPOST /strategies/{strategyId}/historical-dataConsumes credits; rate-limited
list_premade_strategiesGET /premade-strategies
search_companiesPOST /helper/companies/search
submit_strategyPOST /strategies/{strategyId}/submit, then polls GET /strategies/{strategyId} until DONELong-running task

Notes & limitations

  • Not every REST endpoint is exposed as an MCP tool. Portfolio optimization, backtest, and other endpoints are excluded from the MCP surface. Use the REST API directly if you need them.

See also