1 / 8
Pascal RAG MCP Server

The Intelligence Layer
for Multi-Source Research

Pascal connects your internal notes, licensed research, expert calls, and public filings into a single entity-resolved, temporally-aware knowledge graph - exposed as one MCP server to any AI agent.

7+
Data source types
860+
Companies covered
1
Canonical entity per company
10
Tools exposed via MCP

📝
Analyst Notes
Internal memos
📞
Expert Calls
Transcripts
📊
Broker Reports
Sell-side
🏦
Public Filings
SEC / exchange
📈
Visible Alpha
Consensus data
⬡ Pascal MCP Server
📄 Doc Intelligence 🗺 Ontology & Entity Master ⏱ Temporal Indexing 🔐 Security & Permissions 🤖 Orchestration Harness
🤖
Any AI Agent
Claude · Cursor · Custom
The Problem

Without Pascal: same company, different names across every source

Analyst notes and expert calls are where this breaks the most - brokers generally include tickers, but internal docs do not follow any consistent naming standard.

NVDA NVIDIA Corporation
Expert Call · Semiconductors Sector
Topic of this call is semiconductors. Within one paragraph, the expert mentions: "…NVIDIA is looking to accelerate Blackwell supply - CoWoS allocation is being prioritised for their volumes…" A direct NVIDIA supply chain signal - in a call not tagged NVDA.
Analyst Note · Internal
Memo discusses Hopper → Blackwell transition and margin trajectory. Ticker "NVDA" never written - analyst refers to "the company" and "the new chip." Filed under semiconductor sector coverage.
Searching NVDA returns zero results for both documents. Critical signals missed.
CRM Salesforce Inc
Analyst Note
Note mentions "Salesforce" and "SFDC" throughout. The SEC ticker "CRM" is never written.
Expert Call
Transcript refers only to "Agentforce" - not the ticker CRM. Cross-source search for CRM returns nothing from this source.
Searching "CRM" misses all docs written as "Salesforce," "SFDC," or "Agentforce."
TSM Taiwan Semiconductor Manufacturing Co
Analyst Note
Analyst entered "2330" - the Taiwan Stock Exchange ticker - directly from their Bloomberg terminal.
Expert Call + 10-K Filing
Transcript says "Taiwan Semi." 10-K Annual Report uses full legal name "Taiwan Semiconductor Manufacturing Co Ltd." Three names - zero cross-source match.
2330, "Taiwan Semi," and "TSMC" are treated as three different companies.
Temporal Awareness Problem - Affects Every Source
Query: "Give me the latest thesis on NVIDIA"
A generic MCP returns the document with the highest semantic similarity - which may be an analyst note from 6 months ago. There is no concept of "latest."
Why it matters
An analyst note from October 2025 and one from April 2026 both contain "NVIDIA thesis." Without timestamp metadata, the wrong one is returned - silently.
Without pre-indexed timestamps, every "latest" query is a guess.
The Foundation

Entity Master - One Row Per Document, Built at Ingestion

Every document ingested gets its own row. Pascal extracts and normalises the entity name as it appears in that source, maps it to a canonical global ticker, and attaches the filing period and timestamp - before any query runs.

Global Ticker Canonical Name Name as it appeared in source Source Type Document ID Date Current Quarter
NVDA NVIDIA Corporation US67066G1040 Analyst Notes 83421.json Apr 25, 2026 Q1 FY27
NVDA NVIDIA Corporation NVIDIA Public Filing 10-Q Quarterly Report - SEC Q3 FY26 Nov 20, 2025 Q3 FY26
NVDA NVIDIA Corporation Blackwell Expert Call EC-2026-0415-Semi-047 Apr 15, 2026 Q1 FY27
NVDA NVIDIA Corporation NVIDIA Expert Call EC-2026-0210-Tech-019 Feb 10, 2026 Q1 FY27
NVDA NVIDIA Corporation Semiconductors Broker Report gs_nvda_initiation_coverage_q4fy26.pdf Apr 2, 2026 Q1 FY27
NVDA NVIDIA Corporation Jensen Huang Podcast bg2pod_jensen_nvidia_ai_infra_apr2026.mp3 Apr 8, 2026 Q1 FY27
TSM Taiwan Semiconductor Mfg CoWoS capacity Expert Call EC-2026-0415-Semi-047 Apr 15, 2026 Q1 FY26
TSM Taiwan Semiconductor Mfg 2330 Analyst Notes 62847.json Mar 28, 2026 Q1 FY26
TSM Taiwan Semiconductor Mfg Taiwan Semi Expert Call EC-2026-0418-Fab-032 Apr 18, 2026 Q1 FY26
TSM Taiwan Semiconductor Mfg Taiwan Semiconductor Manufacturing Co Ltd Public Filing 10-K Annual Report - SEC 2026 Mar 31, 2026 Q1 FY26
CRM Salesforce Inc Salesforce / SFDC Analyst Notes 54832.json Mar 20, 2026 Q1 FY27
CRM Salesforce Inc Agentforce Expert Call EC-2026-0330-SaaS-011 Mar 30, 2026 Q1 FY27

Green dates = latest document per ticker. The "Name as it appeared in source" column shows exactly why cross-source search breaks without this table. Resolution is a deterministic lookup - not an LLM inference at query time.

The Foundation · Continued

All Sources Per Company - Grouped View

Every alias extracted, every document linked, every source tracked - grouped by canonical entity. This is what Pascal queries against when a search comes in.

All sources per company
NVDA
NVIDIA Corporation
Current Quarter: Q1 FY27
Aliases NvidiaNVIDIABlackwellHopperH100B100
Expert CallsLatest: Apr 15, 2026
  • EC-2026-0415-Semi-047
  • EC-2026-0210-Tech-019
  • EC-2026-0322-Semi-038
  • EC-2026-0108-AI-005
Analyst NotesLatest: Apr 25, 2026
  • 83421.json - Blackwell margin thesis
  • 79234.json - Pre-earnings update
  • 91847.json - GTC update Mar 2026
  • 87653.json - Q4 FY26 post-earnings
Broker ResearchLatest: Apr 2, 2026
  • gs_nvda_initiation_coverage_q4fy26.pdf
  • ms_semiconductor_sector_ai_demand_2026.pdf
  • jpm_nvda_blackwell_ramp_estimate.pdf
TSM
Taiwan Semiconductor Manufacturing Co
Current Quarter: Q1 FY26
Aliases 23302330.TWTaiwan SemiTSMCTaiwan Semiconductor Manufacturing Co Ltd
Expert CallsLatest: Apr 18, 2026
  • EC-2026-0418-Fab-032
  • EC-2026-0305-Fab-024
  • EC-2026-0214-Supply-016
Analyst NotesLatest: Mar 28, 2026
  • 62847.json - tagged 2330, capacity ramp
  • 71294.json - supply chain note Q1 FY26
  • 68432.json - N3 node demand outlook
Broker ResearchLatest: Mar 15, 2026
  • ubs_tsm_capacity_utilization_q1_2026.pdf
  • citi_semiconductor_foundry_outlook.pdf
CRM
Salesforce Inc
Current Quarter: Q1 FY27
Aliases Salesforcesalesforce.comSFDCAgentforce
Expert CallsLatest: Mar 30, 2026
  • EC-2026-0330-SaaS-011
  • EC-2026-0312-Ent-008
  • EC-2026-0228-CRM-003
Analyst NotesLatest: Mar 20, 2026
  • 54832.json - Agentforce evaluation
  • 61947.json - Revenue thesis Q4 FY26
  • 58213.json - tagged "Salesforce" not CRM
Broker ResearchLatest: Feb 28, 2026
  • jpm_crm_annual_enterprise_survey_2026.pdf
  • baml_saas_sector_review_q4fy26.pdf
Case 1 · Entity Resolution

TSMC: Three Names, One Canonical Entity

🔍 "Show me all research on TSMC" TSM
❌ Without Pascal
Analyst DB returns nothing - note is tagged "2330", not TSMC
Expert call MCP returns nothing - transcript says "Taiwan Semi", not TSMC
Filing MCP returns the 10-K but there is no cross-source link - three separate, disconnected results
1 of 3 sources captured. Cross-source synthesis impossible.
✅ With Pascal
Entity master maps "2330" → TSM - analyst note retrieved
Entity master maps "Taiwan Semi" → TSM - expert call transcript retrieved
10-K Annual Report retrieved - all three linked to the same canonical entity with correct Q1 FY26 period
All 3 sources captured. Full cross-source synthesis with citations.
How the table is used: The query "TSMC" hits the entity master → returns canonical TSM → aliases found: 2330, Taiwan Semi, Taiwan Semiconductor Manufacturing Co Ltd → all three are passed as resolved identifiers to each source's search index. No LLM guessing required.
Case 2 · Cross-Source Inference

NVIDIA: Signals in Files Not Tagged as NVDA

🔍 "Show me all research on NVIDIA" NVDA
❌ Without Pascal
Expert call tagged "Semiconductors / TSMC" - NVIDIA not in the tag. Blackwell supply signal missed.
Analyst note tagged "Semiconductor Sector" - ticker NVDA never written. Margin thesis missed.
Both files contain material NVIDIA information. Neither is returned. The analyst never sees these signals when searching for NVIDIA.
Relevant signals in your own data - invisible to search.
✅ With Pascal
Doc intelligence reads the expert call content - "Blackwell" extracted → mapped to NVDA in entity master
Doc intelligence reads the analyst note - "Hopper → new chip" extracted → mapped to NVDA in entity master
Both documents now appear in the entity master under NVDA. Any NVIDIA query returns them - regardless of how they were originally tagged.
No signals dropped because of how a file was tagged.
The investment case: A TSMC coverage note saying "CoWoS allocation is being prioritised for NVIDIA Blackwell volumes" is directly material to your NVIDIA thesis. Without Pascal, your analyst would never see it when searching for NVIDIA research - even if they wrote it themselves.
Case 3 · Agentic Workflow

Notes to Management Brief in One Query

🔍 "Top 5 questions to ask NVIDIA management based on my latest notes — send the brief to my email" NVDA
❌ Without Pascal
Analyst manually re-reads their notes to find open threads — no cross-referencing against other sources
Questions end up generic — not grounded in what the analyst already knows or what other sources contradict
No delivery — copy-paste into email manually
Hours of prep for a generic list. No cross-source insight.
✅ With Pascal
resolve_user → list_filing_periods(NVDA) → finds Richard's latest note (Apr 25, 2026)
Cross-references notes against expert calls and broker reports — surfaces gaps, contradictions, unverified claims
Generates 5 targeted questions grounded in the analyst's thesis + new signals from other sources
send_brief(richard@fund.com) → formatted brief with citations delivered to inbox
One query → cross-source synthesis → delivered brief with citations.
How the graph is used: Pascal resolves the analyst's identity, retrieves their latest NVDA notes, cross-references against all sources for the same entity and quarter, identifies gaps, generates targeted questions, and delivers — all from one natural language instruction.
Query Resolution · Step by Step

How Pascal breaks down and routes a research query

Each step handles one responsibility. Source priority: ① Analyst Notes → ② Expert Calls → ③ Broker Reports.

👤
Richard · Portfolio Analyst
"What is the current investment thesis on NVIDIA?"
NVDA
1
resolve_user_context
User personalisation + company resolution
input: "What is the current investment thesis on NVIDIA?"
2
list_filing_periods  TEMPORAL AWARENESS
Anchor "current" quarter to real database dates - no hallucinated quarters
input: ticker = "NVDA"
3
plan_search · analyst_notes  ① SOURCE IDENTIFICATION
Break query into sub-queries for analyst notes · scope post-earnings window
sub-queries → [ "NVDA investment thesis Q1 FY27" · "NVIDIA Blackwell margin outlook" · "NVDA current quarter view" ]  |  date_range: 2026-02-26 → 2026-04-27
4
execute_search_batch · analyst_notes  CONTEXT MANAGEMENT
Run sub-queries in parallel - batch to avoid context overload · entity resolution active
running 3 sub-queries in parallel against analyst_notes index
5
plan_search · expert_call  ② SOURCE IDENTIFICATION
Expand search to expert calls · last 3 months · same entity resolution applied
sub-queries → [ "NVIDIA Blackwell chip supply ramp 2026" · "AI accelerator demand semiconductor supply" ]  |  date_range: 2026-01-27 → 2026-04-27
6
execute_search_batch · expert_call  CONTEXT MANAGEMENT
Retrieve transcripts - UUID-named files, resolved via entity master (incl. Blackwell→NVDA)
running 2 sub-queries in parallel against expert_call index
7
execute_search · broker_reports  ③ SOURCE IDENTIFICATION
Latest broker notes post-earnings - NVDA and NVIDIA both searched via entity master
sub-query → "NVDA NVIDIA analyst view post Q4 FY26 earnings"  |  date_range: 2026-02-26 → 2026-04-27
8
synthesis · return to client  CONFLICT RESOLUTION
Compile answer - surface source disagreements, attach timestamps and citations
sources: [ analyst_notes × 2, expert_call × 2, broker_reports × 2 ]
The Differentiator

Why Not Just Connect Claude to Each Source Directly?

"Snowflake has an MCP. Bloomberg has an MCP." - Individual MCPs work within one source. They break the moment a query crosses two. Pascal is not a bundle of connectors - it is connectors + document intelligence + knowledge graph + orchestration harness.

Capability Individual MCPs (Direct) Pascal MCP
Entity resolution ❌ "Taiwan Semi" ≠ "2330" ≠ "TSMC." Three MCPs treat these as three different companies. ✅ Entity master pre-computed at ingestion. Deterministic lookup - same input, same output, every time.
Missed signals ❌ If the analyst note isn't tagged NVDA, a NVIDIA search returns zero - even if the note contains critical NVIDIA content. ✅ Content-level entity extraction at ingestion captures every relevant mention, regardless of how the file was tagged.
Cross-source queries ❌ "Semis" in expert calls ≠ "semiconductors" in analyst notes. Each MCP returns its own result set with no shared taxonomy. ✅ Unified sector and entity taxonomy. One query resolves to the same entity set across all sources.
"Latest" queries ❌ Semantic similarity - may return a 6-month-old note. "Latest" is guessed by the LLM, non-deterministically. ✅ Timestamps indexed at ingestion. list_filing_periods grounds every query in real database dates.
Agent orchestration ❌ Claude defaults to one tool. With multiple MCPs connected, Claude tends to answer using just one source and produce a poor result - unless you explicitly tell it which tool to use for each type of information. ✅ Pascal's MCP handles orchestration automatically. Sub-queries are routed to the right source in the right order - no explicit per-query instructions needed from the user.
Context window ❌ Must dump entity mappings, sector taxonomies, and timestamps into context on every query. Breaks past ~150k tokens. ✅ All metadata pre-indexed. Resolution is a lookup - zero context overhead per query.
Security & governance ❌ Each system manages its own permissions, identity, and access. N connectors = N governance surfaces. ✅ One security boundary. Permission-scoped tool parameters. Audit logging across all sources in a single dashboard.

Context Overload

200+ companies, 7 sources, 10k+ documents → a mapping table that doesn't fit any context window. Quality degrades past ~150k tokens even if it does fit.

Latency

Re-resolving entities and time periods from raw context on every query is slow. Pascal's metadata is pre-computed - resolution is a lookup, not LLM inference.

Non-determinism

LLM-based resolution may resolve the same company differently on two consecutive queries. Pascal's structured metadata is deterministic - same input, same output, always auditable.