query_stocks
Fetches current stock quote fields from Yahoo Finance's unofficial chart
endpoint, or crypto market fields from CoinGecko. An
ALPHA_VANTAGE_KEY enables a stock fallback.
Use case · agent data gathering
data-aggregator-mcp is a local Node.js MCP server that calls external
data sources and returns structured tool results. An agent can look up a quote,
check a forecast, search news, read a webpage, convert currencies, or query a
small set of public-data services without configuring six separate servers.
6 shipped tools Node.js 18+ 100 free calls per UTC day
What it does
Every name below is registered by the shipped server. Results are returned as MCP text content, usually containing formatted JSON.
query_stocks
Fetches current stock quote fields from Yahoo Finance's unofficial chart
endpoint, or crypto market fields from CoinGecko. An
ALPHA_VANTAGE_KEY enables a stock fallback.
fetch_webpageFetches one URL and extracts its title, meta description, headings, text, and up to 50 links. It can also target one basic tag, class, or ID selector.
search_news
Searches Google News RSS without a key. If NEWS_API_KEY is
present, it uses NewsAPI and can apply category, source, and date filters.
query_weatherUses Open-Meteo geocoding and forecast APIs for current conditions and a seven-day forecast by city or latitude and longitude.
query_exchange_ratesConverts fiat through Frankfurter/ECB data and supported crypto through CoinGecko. Historical dates apply to fiat-to-fiat requests.
query_public_dataDispatches four commands: Wikipedia summary, IP geolocation, DNS lookup, and URL expansion. The selected command uses its relevant fields from the shared tool schema.
Agent workflows
The server gathers data; the agent decides how to compare, summarize, or cite the returned fields.
Pull a stock quote, then gather a small news set for the agent to summarize alongside it.
Tool: query_stocks
{
"symbol": "AAPL",
"type": "stock"
}
Tool: search_news
{
"query": "Apple earnings",
"language": "en",
"maxResults": 5
}
Give an agent a destination forecast and a concrete currency conversion for the same trip.
Tool: query_weather
{
"city": "Tokyo",
"units": "celsius"
}
Tool: query_exchange_rates
{
"base": "USD",
"target": "JPY",
"amount": 250
}
Extract the readable structure of a public page, then check its current DNS address records.
Tool: fetch_webpage
{
"url": "https://example.com"
}
Tool: query_public_data
{
"command": "dns_lookup",
"domain": "example.com",
"recordType": "A"
}
Quickstart
The default transport is stdio, which is suitable for a local MCP client.
~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json. In the app: Settings → Developer → Edit Config.
~/.cursor/mcp.json
Or .cursor/mcp.json inside a single project.
~/.codeium/windsurf/mcp_config.json
Cascade panel → MCP icon → edit the raw config.
All three clients accept the same object. If the file already has an mcpServers block, add just the "data-aggregator" entry inside it.
{
"mcpServers": {
"data-aggregator": {
"command": "npx",
"args": ["-y", "data-aggregator-mcp"]
}
}
}
No env block is needed to start: 100 tool calls per UTC day run without a license, and the allowance resets daily.
$ claude mcp add --transport stdio data-aggregator -- npx -y data-aggregator-mcp
Check it registered with claude mcp list. Add a key later with --env LICENSE_KEY=your-key placed before --transport.
claude mcp list and look for ✔ Connected.Running npx -y data-aggregator-mcp in a terminal looks frozen — that is correct. It is a stdio server: it waits silently for an MCP client on stdin and never returns a prompt. Press Ctrl+C to exit. Use the config above rather than the bare command; your client starts the process for you.
A key arrives on screen right after checkout. Add it as an environment variable in the same entry:
{
"mcpServers": {
"data-aggregator": {
"command": "npx",
"args": ["-y", "data-aggregator-mcp"],
"env": {
"LICENSE_KEY": "paste-your-key-here"
}
}
}
}
Keys are verified offline against a public key compiled into the package — no account, no network check, no usage reporting. Lost the key? Recover it here. More detail on the FAQ.
LICENSE_KEY also accepts AIVP_LICENSE_KEY as an alias.
NEWS_API_KEY and ALPHA_VANTAGE_KEY are optional upstream
credentials, not requirements for starting the server.
Free behavior, verified in source
The shipped license code assigns data-aggregator a daily quota of
100. The counter is shared across all six tools and advances before the
selected tool performs its work, so an upstream failure still consumes that
invocation. It resets when the UTC date changes.
Usage is saved to ~/.aivp-mcp/usage.json when the home directory
is writable, with an in-memory fallback when it is not. No account or credit
card is required. A valid product license removes this package-level daily
gate; built-in and upstream source limits still apply.
All six tools are available on every plan — the paid Pro and Premium tiers differ by seats and license terms, not by which tools you can call. A purchased key stays valid for 365 days and is verified entirely offline against a public key compiled into the package — no account, no network check, no usage reporting.
Sources
Yahoo Finance's unofficial chart endpoint, CoinGecko, and Frankfurter/European Central Bank data. Alpha Vantage is an optional stock fallback when its key is configured.
Open-Meteo supplies geocoding and weather. Google News RSS is the no-key news path; NewsAPI is selected when its key is configured.
Requested public webpages, Wikipedia APIs, ip-api.com, the host system's DNS resolver, and HTTP redirect destinations. Upstream availability and terms remain in effect.
Scope
The IP lookup implementation uses ip-api.com's no-key endpoint, which the source code identifies as free for non-commercial use. Check that provider's current terms for your use case.
Start with the daily free tier
Add the server to an MCP client without a key and use all six tools up to the daily allowance. When you are ready for ungated calls, buy a key on the pricing card and paste it into the same entry.