• Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
b

bnsalmhythm730

mcp-powerserver

Powerful MCP Server with 8 open-source tools via JSON-RPC 2.0
Public
Like
mcp-powerserver
Home
Code
3
tools
16
README.md
H
main.ts
Environment variables
Branches
1
Pull requests
Remixes
History
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
Code
/
Search
main.ts
https://bnsalmhythm730--47d38190354611f193b642b51c65c3df.web.val.run
README.md

🚀 MCP Power Server

A Model Context Protocol (MCP) server built on JSON-RPC 2.0 with 8 powerful open-source tools — no API keys required for most tools.

🔗 Live Endpoint

https://bnsalmhythm730--47d38190354611f193b642b51c65c3df.web.val.run

🛠 Tools

#ToolDescriptionData Source
1web_searchWeb search with snippets & URLsDuckDuckGo (free)
2calculatorAdvanced math: trig, log, factorial, constantsBuilt-in
3system_infoMemory, uptime, Deno version, platformDeno runtime
4currency_converterReal-time exchange rates, 30+ currenciesfrankfurter.app (free)
5time_and_dateWorld clocks, date diff, timezone conversionBuilt-in
6fetch_urlFetch raw HTML/JSON/text from any URLDirect HTTP
7weatherCurrent conditions + 7-day forecastOpen-Meteo (free)
8unit_converterLength, weight, temp, volume, area, speed, dataBuilt-in

📡 Protocol

  • Protocol: JSON-RPC 2.0
  • MCP Version: 2024-11-05
  • Transport: HTTP (POST /rpc or POST /)
  • CORS: Fully open (*)

🔌 Endpoints

MethodPathDescription
GET/Server info & tool list
GET/toolsFull tool schemas
POST/rpcJSON-RPC 2.0 dispatcher
POST/JSON-RPC 2.0 dispatcher (alias)

📖 Usage Examples

MCP Initialize

POST /rpc { "jsonrpc": "2.0", "id": 1, "method": "initialize", "params": { "protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": { "name": "MyClient", "version": "1.0" } } }

List Tools

{ "jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {} }

Web Search

{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "web_search", "arguments": { "query": "latest AI news", "max_results": 5 } } }

Calculator

{ "jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": { "name": "calculator", "arguments": { "expression": "sqrt(144) + factorial(7) + sin(pi/2)" } } }

Currency Converter

{ "jsonrpc": "2.0", "id": 5, "method": "tools/call", "params": { "name": "currency_converter", "arguments": { "amount": 100, "from": "USD", "to": "EUR,GBP,JPY" } } }

Weather

{ "jsonrpc": "2.0", "id": 6, "method": "tools/call", "params": { "name": "weather", "arguments": { "location": "Tokyo", "include_forecast": true } } }

World Clocks

{ "jsonrpc": "2.0", "id": 7, "method": "tools/call", "params": { "name": "time_and_date", "arguments": { "action": "world_clocks" } } }

Unit Converter

{ "jsonrpc": "2.0", "id": 8, "method": "tools/call", "params": { "name": "unit_converter", "arguments": { "value": 100, "from": "celsius", "to": "fahrenheit" } } }

Fetch URL

{ "jsonrpc": "2.0", "id": 9, "method": "tools/call", "params": { "name": "fetch_url", "arguments": { "url": "https://api.github.com", "extract_text": false } } }

🏗 Architecture

main.ts (HTTP handler + JSON-RPC dispatcher)
└── tools/
    ├── index.ts       (tool registry + dispatcher)
    ├── search.ts      (DuckDuckGo)
    ├── calculator.ts  (safe math eval)
    ├── sysinfo.ts     (Deno runtime info)
    ├── currency.ts    (frankfurter.app)
    ├── datetime.ts    (world clocks, diff)
    ├── fetchurl.ts    (HTTP fetch + HTML strip)
    ├── weather.ts     (Open-Meteo)
    └── units.ts       (7 unit categories)

⚡ Features

  • ✅ Strict JSON-RPC 2.0 (always includes jsonrpc: "2.0" and id)
  • ✅ Batch request support
  • ✅ Full CORS support
  • ✅ MCP initialize / tools/list / tools/call methods
  • ✅ No API keys required (all free data sources)
  • ✅ 15s timeout on external requests
  • ✅ Detailed error responses with proper error codes
Code
toolsREADME.md
H
main.ts
FeaturesVersion controlCode intelligenceCLIMCP
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
AboutAlternativesPricingBlogNewsletterCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Open Source Pledge
Terms of usePrivacy policyAbuse contact
© 2026 Val Town, Inc.