Use case · agent data gathering

Give one MCP client six focused data tools

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

Run with npx View pricing

What it does

One server, six exact tool contracts

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_webpage

Fetches 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_weather

Uses Open-Meteo geocoding and forecast APIs for current conditions and a seven-day forecast by city or latitude and longitude.

query_exchange_rates

Converts fiat through Frankfurter/ECB data and supported crypto through CoinGecko. Historical dates apply to fiat-to-fiat requests.

query_public_data

Dispatches 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

Three practical ways to combine the tools

The server gathers data; the agent decides how to compare, summarize, or cite the returned fields.

1. Add context to a market move

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
}

2. Build a travel briefing

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
}

3. Inspect public website context

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

Run the exact npm package

The default transport is stdio, which is suitable for a local MCP client.

Open your client's config file

  • Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json

    Windows: %APPDATA%\Claude\claude_desktop_config.json. In the app: Settings → Developer → Edit Config.

  • Cursor ~/.cursor/mcp.json

    Or .cursor/mcp.json inside a single project.

  • Windsurf ~/.codeium/windsurf/mcp_config.json

    Cascade panel → MCP icon → edit the raw config.

Paste this entry

All three clients accept the same object. If the file already has an mcpServers block, add just the "data-aggregator" entry inside it.

mcpServers entry
{
  "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.

Using Claude Code instead? One command, no file

shell
$ 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.

Restart the client, then confirm it loaded

  • Claude Desktop: quit and reopen the app, then look for Data Aggregator MCP in the tools/plugin menu.
  • Cursor: Settings → Customize → MCP; the server should list its tools.
  • Windsurf: reload Cascade; the server appears under the MCP panel.
  • Claude Code: run 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.

Add your license key when you buy

A key arrives on screen right after checkout. Add it as an environment variable in the same entry:

mcpServers entry with license
{
  "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

100 shared tool calls per UTC day without a key

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.

See current pricing

Sources

Where returned data comes from

Markets and exchange rates

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.

Weather and news

Open-Meteo supplies geocoding and weather. Google News RSS is the no-key news path; NewsAPI is selected when its key is configured.

Web and public data

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

What it does—and does not do

Designed to do

  • Make focused, on-demand lookups through six MCP tools.
  • Return source fields for an agent to interpret or combine.
  • Cache results in the running process for source-specific TTLs.
  • Throttle outbound calls with built-in per-source limits.

Does not do

  • It is not a database, historical market store, alerting service, or trading system.
  • It does not guarantee official, tick-level, or delay-free market data.
  • It does not render webpage JavaScript, authenticate to sites, or support full CSS selectors.
  • It does not bypass paywalls, access controls, provider quotas, or upstream terms.
  • Without NewsAPI, category, source, and date filters are not applied to Google News RSS.

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

Make 100 calls a day, then unlock unlimited access.

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.