Primary Logic Investment Intelligence
Use the Primary Logic MCP tools to retrieve real-time, continuously refreshed investment context with LLM-ranked relevance and impact signals for public and private companies.
Setup
Cowork
- Open Manage Plugins.
- Click Personal -> Add a Marketplace from GitHub.
- Enter
PrimaryLogic/agent-skills. - Install the plugin, click Manage, then connect the
primary-logicconnector. - Run
/primary-logic give me an update about NVDA. - If prompted, complete OAuth.
OpenClaw
Paste this into OpenClaw:
Install the plugin https://github.com/PrimaryLogic/agent-skills and run the Oauth flow
Claude Code
claude plugin marketplace add PrimaryLogic/agent-skills
claude plugin install primary-logic
Claude prompts for OAuth automatically on first tool call.
Codex
codex mcp add primary-logic --url https://primarylogic--pulse-backend-external-api-app.modal.run/mcp
Other MCP-capable agents
Add to your agent's MCP config:
- URL:
https://primarylogic--pulse-backend-external-api-app.modal.run/mcp - Auth: OAuth only
npx (universal)
npx skills add PrimaryLogic/agent-skills
Activation Cues
Activate this skill when the user asks for any of:
- ticker-specific bullish or bearish evidence
- recent catalysts or risk signals from content
- per-content relevance or impact details by ticker
- source coverage or content visibility checks
- OAuth token usage diagnostics
- setup help for agentic decision support or user-controlled trading workflows
What This Data Represents
- Source-normalized investment context: top podcasts, articles/news, X/Twitter, Kalshi, Polymarket, earnings calls, filings, and other monitored channels normalized into one feed
- LLM-heavy signal extraction: per-ticker relevance and impact scores attached to each content item to prioritize material developments
- Public + private company coverage: source visibility and ticker coverage for the requesting organization
Connection
- MCP server:
primary-logicconnector - Base URL:
https://primarylogic--pulse-backend-external-api-app.modal.run/mcp - Auth: OAuth access token via MCP OAuth discovery (
/.well-known/oauth-authorization-server)
Available MCP Tools
Use the primary-logic connector tools:
| Tool | Purpose |
|---|---|
health_check | Validate connectivity and auth |
search_content | Broad content discovery with filters (tickers, sources, sentiment, time) |
get_content | Fetch a single content item by ID |
get_content_ticker_signals | Per-item ticker attribution with relevance and impact |
get_ticker_content | Signal-ranked content for a specific ticker |
list_sources | Org source visibility and coverage |
list_tickers | Search available tickers |
get_ticker_detail | Ticker summary with optional signal stats |
get_usage | API usage telemetry |
Hard Rules
- Never fabricate data; all claims must map to tool responses.
- Access is user-entitlement scoped to token subject (
sub); if calls fail with billing errors, owner subscription status is usually the cause. - Data visibility is org-scoped; if records are missing, org source visibility may be the cause.
- If a tool call fails, report the error and suggest a concrete next step.
- Use absolute timestamps in outputs when the user asks about recent windows.
- Do not claim market prices, positions, or execution events unless explicitly present in the data.
- Do not present outputs as guaranteed returns or autonomous execution instructions.
- Frame outputs as context for decision support and user-approved actions.
Input Contract
Interpret each user request into this query plan:
- objective: thesis_support, counter_thesis, catalyst_scan, sentiment_shift, coverage_check
- scope:
- tickers: list of uppercase ticker symbols
- time window: since and until in ISO datetime format
- source_types: optional list
- signal filters:
- min_relevance: 0..1
- min_abs_impact: 0..10
- sentiment: positive | negative | neutral
- include_reasoning: true when the user asks why
- retrieval:
- limit (default 50)
- sort mode: date | abs_impact | relevance
If ticker or time window is missing for an investment query, ask one concise clarification.
Query Defaults
- Default content limit: 50 unless user asks otherwise.
- Apply ticker filters whenever the user names tickers.
- For larger pulls, continue pagination while next_cursor is present.
- For signal-heavy tasks, start with min_relevance >= 0.6 and min_abs_impact >= 5.
Data Shape
See response contracts for canonical payload examples.
Decision Workflow
- Validate connectivity once per session with
health_check. - Use
search_contentfor broad discovery pulls. - Use
get_ticker_contentfor signal-ranked ticker analysis. - Use
get_content_ticker_signalsfor per-item attribution detail. - Use
get_ticker_detailwithinclude_signal_stats=truefor summary context. - Use
list_sourceswhen visibility or source scope is ambiguous. - Use
get_usagefor rate-limit troubleshooting.
Output Contract
Return structured investment output with:
- key_findings: 3 to 7 concise bullets
- thesis_view: one short paragraph
- supporting_evidence: list of {content_id, ticker, impact_score, relevance_score}
- contrary_evidence: same schema as supporting_evidence
- catalysts: list
- risks: list
- tool_trace:
- tools used
- filters applied
- time window
- pagination coverage
If results are empty, return "no qualifying records" and suggest exactly which filter to relax first.
Billing Troubleshooting
- If
health_checkreturns a 402 error, check token-owner subscription entitlement first (user-level access), then confirm OAuth token scope includesread:investment-intelligence. - Use
get_usageafter a successful health check to verify rate-limit posture for the current OAuth principal.