MCP Market
30 MCP servers. 133 tools. 40+ public APIs. One monorepo.
Give your AI agent real-time access to weather, crypto, news, Wikipedia, Pokemon, and 25 more APIs — zero hosted infrastructure required.
Quick Start
Install
# Use directly via npx (no install needed)
npx @mcp-mk/weather
# Or install globally
npm install -g @mcp-mk/weather
[!NOTE] Servers marked with :key: require an API key via environment variable. Example:
OMDB_API_KEY=your-key npx @mcp-mk/movies
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"mcp-market-weather": {
"command": "npx",
"args": ["-y", "@mcp-mk/weather"]
},
"mcp-market-crypto": {
"command": "npx",
"args": ["-y", "@mcp-mk/crypto"]
}
}
}
Restart Claude. That's it. Ask Claude about the weather.
[!TIP] Each package is independently installable. Pick only the ones you need — no need to install the entire monorepo.
Cursor
Go to Settings → MCP → Add Server and add:
{
"mcpServers": {
"mcp-market-weather": {
"command": "npx",
"args": ["-y", "@mcp-mk/weather"]
}
}
}
VS Code
Create or edit .vscode/mcp.json in your project:
{
"servers": {
"mcp-market-weather": {
"command": "npx",
"args": ["-y", "@mcp-mk/weather"]
}
}
}
Servers that need API keys
Some servers require API keys. Pass them via the env field:
{
"mcpServers": {
"movies": {
"command": "npx",
"args": ["-y", "@mcp-mk/movies"],
"env": {
"OMDB_API_KEY": "your-key-here"
}
}
}
}
See the API Key Required section for the full list.
What's Inside
By Category
| Category | Packages | Tools | Highlights | |
|---|---|---|---|---|
| :earth_americas: | Geo & Weather | 4 | 14 | weather, geocoding, countries, earthquakes |
| :moneybag: | Finance | 3 | 15 | crypto, exchange, stocks |
| :books: | Knowledge | 4 | 18 | wikipedia, dictionary, books, government |
| :movie_camera: | Entertainment | 3 | 16 | anime, movies, pokemon |
| :fork_and_knife: | Food & Drink | 1 | 6 | meals, cocktails, ingredients |
| :art: | Art & Culture | 2 | 8 | Art Institute Chicago, Met Museum, Harvard Art |
| :camera: | Media | 2 | 9 | photos (Unsplash), colors & emojis |
| :rocket: | Science & Space | 3 | 13 | NASA APOD, ISS tracking, bird watching |
| :newspaper: | News & Info | 2 | 8 | headlines, IP geolocation |
| :soccer: | Sports | 1 | 5 | teams, players, scores, events |
| :bus: | Transport | 1 | 4 | EV chargers, railway stations |
| :game_die: | Fun & Random | 4 | 17 | dogs, cats, names, random facts, holidays |
:unlock: No API Key Required
These servers work out of the box. No configuration needed.
| Package | APIs | Tools | Description |
|---|---|---|---|
weather | Open-Meteo | 4 | Current weather, forecasts, historical data |
geocoding | Nominatim | 3 | Address search, reverse geocoding, place lookup |
countries | REST Countries | 4 | Country info, search, compare, region filter |
holidays | Nager.Date | 4 | Public holidays by country and year |
earthquakes | USGS | 3 | Recent earthquakes, search by magnitude/location |
crypto | CoinGecko | 5 | Prices, trending coins, market charts, compare |
anime | Jikan / MAL | 5 | Search, seasonal, top ranked, recommendations |
books | Open Library, PoetryDB | 5 | Search books, covers, random poems |
art | Art Institute Chicago, Met Museum | 4 | Search artworks, random art, artist search |
food | TheMealDB, TheCocktailDB | 6 | Meals, cocktails, recipes, ingredients |
dictionary | Free Dictionary | 4 | Definitions, synonyms, antonyms, pronunciation |
wikipedia | Wikipedia REST | 5 | Search, summaries, random articles, on this day |
pokemon | PokeAPI | 5 | Pokemon info, abilities, types, evolution, compare |
names | Nationalize, Genderize, Agify | 3 | Predict nationality, gender, age from names |
iss | Open Notify, Where the ISS at | 4 | ISS position, people in space, satellite tracking |
random | Bored API, Random User, Numbers | 5 | Random activities, users, number/date facts |
dogs-cats | Dog CEO, Cat Facts, HTTP Cat | 5 | Dog images by breed, cat facts, HTTP status cats |
colors | TheColor API, EmojiHub | 5 | Color info, palettes, random colors, emojis |
exchange | Frankfurter | 5 | Currency conversion, rates, historical, time series |
ip | ip-api, ipapi.co | 4 | IP geolocation, timezone, batch lookup |
sports | TheSportsDB | 5 | Teams, players, leagues, events, scores |
transport | Open Charge Map, Overpass | 4 | EV chargers, railway stations nearby |
:key: API Key Required
| Package | APIs | Tools | Env Variable(s) |
|---|---|---|---|
space | NASA | 5 | NASA_API_KEY (optional — DEMO_KEY fallback) |
movies | OMDB | 5 | OMDB_API_KEY |
news | GNews | 4 | GNEWS_API_KEY |
photos | Unsplash | 5 | UNSPLASH_ACCESS_KEY |
stocks | Alpha Vantage | 5 | ALPHA_VANTAGE_API_KEY |
museum | Harvard Art Museums | 4 | HARVARD_ART_API_KEY |
birds | eBird | 4 | EBIRD_API_KEY |
government | Congress.gov, Open States | 4 | CONGRESS_API_KEY, OPENSTATES_API_KEY |
Example: Multi-Server Setup
Here's a real-world config with multiple servers:
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["-y", "@mcp-mk/weather"]
},
"crypto": {
"command": "npx",
"args": ["-y", "@mcp-mk/crypto"]
},
"wikipedia": {
"command": "npx",
"args": ["-y", "@mcp-mk/wikipedia"]
},
"space": {
"command": "npx",
"args": ["-y", "@mcp-mk/space"],
"env": {
"NASA_API_KEY": "DEMO_KEY"
}
}
}
}
Then ask your AI agent:
- "What's the weather in Seoul right now?"
- "Show me Bitcoin's price trend for the last 7 days"
- "Summarize the Wikipedia article on quantum computing"
- "What's NASA's astronomy picture of the day?"
Development
git clone https://github.com/deepdevy/mcp-market.git
cd mcp-market
pnpm install
pnpm run build # builds all 31 packages via Turborepo
# Build a single package
pnpm --filter @mcp-mk/weather run build
# Dev mode with auto-reload
pnpm --filter @mcp-mk/weather run dev
# Clean all build artifacts
pnpm run clean
Project Structure
mcp-market/
├── packages/
│ ├── core/ # Shared utilities (fetchJSON, buildURL, formatters)
│ ├── weather/ # Each package = independent MCP server
│ ├── crypto/
│ ├── anime/
│ └── ... (30 packages)
├── package.json
├── pnpm-workspace.yaml
├── turbo.json
└── tsconfig.base.json
Adding a New Server
Every server follows the same pattern:
#!/usr/bin/env node
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import { fetchJSON, buildURL, text, error, keyValue } from "@mcp-mk/core";
const server = new McpServer({ name: "mcp-market-xxx", version: "0.1.0" });
server.tool("tool_name", "description", { param: z.string() }, async ({ param }) => {
const data = await fetchJSON(buildURL("https://api.example.com", { q: param }));
return text(keyValue({ "Key": data.value }));
});
const transport = new StdioServerTransport();
await server.connect(transport);
Tech Stack
| Technology | Role | |
|---|---|---|
| :globe_with_meridians: | Node.js 18+ | Runtime |
| :blue_book: | TypeScript | Language (strict mode) |
| :electric_plug: | MCP SDK | Protocol (@modelcontextprotocol/sdk) |
| :shield: | Zod | Input validation |
| :triangular_ruler: | Turborepo | Monorepo build orchestration |
| :package: | pnpm | Package manager (workspaces) |
Contributing
Contributions welcome! Here's how to add a new MCP server:
- Fork and clone the repo
- Create
packages/your-api/withpackage.json,tsconfig.json,src/index.ts - Follow the pattern above — use
@mcp-mk/coreutilities - Run
pnpm install && pnpm run buildto verify - Open a PR
[!NOTE] All servers must build cleanly with
tscin strict mode. Noanytypes, no@ts-ignore.
License
Disclaimer
This project wraps third-party public APIs for use via the Model Context Protocol. API availability, rate limits, and terms of service are governed by the respective providers. Use your own API keys where required. This project is not affiliated with any of the API providers listed above.