LABSCO SUMMARY
Two servers, one question — that is the part worth copying.
Financial questions usually straddle two sources: what the filings say and what happened this week. Keeping them in separate servers means the agent picks per question instead of one server growing a news module, and the repository shows both halves plus the agent that routes between them. Read it as a reference implementation you extend, not a hosted service — you supply the keys, the processes and the ports.
What it is
A TypeScript project that runs a stock-market server and a news server side by side, and a LangChain agent that calls them through tool use. It is a working reference for splitting financial data across separate MCP servers rather than one, and it connects to an IDE the same way any other server does.
What you get
- Company information for a listed company, from the stocks server
- Quarterly financials and annual financial reports for the same company
- News articles retrieved in real time, from the news server
- Query-based news search, so the article set can be narrowed to a topic
- A LangChain agent that decides which of the two servers to call, included in the repository
Requirements
Node.js 16.x or higher and TypeScript 4.x or higher, plus API keys for the stock data service and OpenAI, set as STOCK_API_KEY and OPENAI_API_KEY in a .env file. After npm install and npm run build, the two servers run in separate terminals and expose SSE endpoints on http://127.0.0.1:3000/sse and http://127.0.0.1:3001/sse; Cursor connects by adding both URLs to mcp.json. The agent is started separately.
Setup effort
Build from source — git clone https://github.com/extrawest/financial-ai-agent-mcp-servers
USE CASES
01
Answering a question that needs filings and headlines
Pull the quarterly numbers from one server and the recent coverage from the other in the same conversation.
02
Reading a company's fundamentals without a terminal
Ask for the company profile and the annual report figures directly in the chat.
03
Following a story on a specific topic
Search news by query rather than scrolling a general feed.
04
Starting your own multi-server agent
Use the two servers and the LangChain agent as a working skeleton for a domain of your own.
BEFORE YOU INSTALL
What to know first
Requires
- A client that connects to an MCP server by its SSE URL
- Node.js 16.x or later
- STOCK_API_KEY in your environment
- OPENAI_API_KEY in your environment
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
TERMINAL
git clone https://github.com/extrawest/financial-ai-agent-mcp-servers
cd financial-ai-agent-mcp-servers
npm installCreate a .env file in the project root with STOCK_API_KEY and OPENAI_API_KEY
TERMINAL
npm run buildIn one terminal tab, start the stocks server and leave it running:
TERMINAL
npm run stocks:builtIn a second terminal tab, start the news server:
TERMINAL
npm run news:builtAdd the mcpServers block to Cursor's mcp.json so the client can reach the two running SSE endpoints
MCP Clients
Cursor
CURSOR · JSON
{
"mcpServers": {
"stocks-mcp-server": {
"url": "http://127.0.0.1:3000/sse"
},
"news-mcp-server": {
"url": "http://127.0.0.1:3001/sse"
}
}
}