MCP Hub
Back to servers

@mcp-mk/core

Shared utilities for MCP Market servers

npm68/wk
Updated
Mar 1, 2026

Quick Install

npx -y @mcp-mk/core

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.

MCP Compatible TypeScript MIT License 30 Packages 133 Tools


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

CategoryPackagesToolsHighlights
:earth_americas:Geo & Weather414weather, geocoding, countries, earthquakes
:moneybag:Finance315crypto, exchange, stocks
:books:Knowledge418wikipedia, dictionary, books, government
:movie_camera:Entertainment316anime, movies, pokemon
:fork_and_knife:Food & Drink16meals, cocktails, ingredients
:art:Art & Culture28Art Institute Chicago, Met Museum, Harvard Art
:camera:Media29photos (Unsplash), colors & emojis
:rocket:Science & Space313NASA APOD, ISS tracking, bird watching
:newspaper:News & Info28headlines, IP geolocation
:soccer:Sports15teams, players, scores, events
:bus:Transport14EV chargers, railway stations
:game_die:Fun & Random417dogs, cats, names, random facts, holidays

:unlock: No API Key Required

These servers work out of the box. No configuration needed.

PackageAPIsToolsDescription
weatherOpen-Meteo4Current weather, forecasts, historical data
geocodingNominatim3Address search, reverse geocoding, place lookup
countriesREST Countries4Country info, search, compare, region filter
holidaysNager.Date4Public holidays by country and year
earthquakesUSGS3Recent earthquakes, search by magnitude/location
cryptoCoinGecko5Prices, trending coins, market charts, compare
animeJikan / MAL5Search, seasonal, top ranked, recommendations
booksOpen Library, PoetryDB5Search books, covers, random poems
artArt Institute Chicago, Met Museum4Search artworks, random art, artist search
foodTheMealDB, TheCocktailDB6Meals, cocktails, recipes, ingredients
dictionaryFree Dictionary4Definitions, synonyms, antonyms, pronunciation
wikipediaWikipedia REST5Search, summaries, random articles, on this day
pokemonPokeAPI5Pokemon info, abilities, types, evolution, compare
namesNationalize, Genderize, Agify3Predict nationality, gender, age from names
issOpen Notify, Where the ISS at4ISS position, people in space, satellite tracking
randomBored API, Random User, Numbers5Random activities, users, number/date facts
dogs-catsDog CEO, Cat Facts, HTTP Cat5Dog images by breed, cat facts, HTTP status cats
colorsTheColor API, EmojiHub5Color info, palettes, random colors, emojis
exchangeFrankfurter5Currency conversion, rates, historical, time series
ipip-api, ipapi.co4IP geolocation, timezone, batch lookup
sportsTheSportsDB5Teams, players, leagues, events, scores
transportOpen Charge Map, Overpass4EV chargers, railway stations nearby

:key: API Key Required

PackageAPIsToolsEnv Variable(s)
spaceNASA5NASA_API_KEY (optional — DEMO_KEY fallback)
moviesOMDB5OMDB_API_KEY
newsGNews4GNEWS_API_KEY
photosUnsplash5UNSPLASH_ACCESS_KEY
stocksAlpha Vantage5ALPHA_VANTAGE_API_KEY
museumHarvard Art Museums4HARVARD_ART_API_KEY
birdseBird4EBIRD_API_KEY
governmentCongress.gov, Open States4CONGRESS_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

TechnologyRole
:globe_with_meridians:Node.js 18+Runtime
:blue_book:TypeScriptLanguage (strict mode)
:electric_plug:MCP SDKProtocol (@modelcontextprotocol/sdk)
:shield:ZodInput validation
:triangular_ruler:TurborepoMonorepo build orchestration
:package:pnpmPackage manager (workspaces)

Contributing

Contributions welcome! Here's how to add a new MCP server:

  1. Fork and clone the repo
  2. Create packages/your-api/ with package.json, tsconfig.json, src/index.ts
  3. Follow the pattern above — use @mcp-mk/core utilities
  4. Run pnpm install && pnpm run build to verify
  5. Open a PR

[!NOTE] All servers must build cleanly with tsc in strict mode. No any types, no @ts-ignore.


License

MIT

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.

Reviews

No reviews yet

Sign in to write a review