The MCP Servers (OnePiece & Geolocalizar) provide two distinct functionalities:
OnePieceServer: Query One Piece character information by ID or retrieve a complete list of characters
Geolocalizar: Geolocate public IPv4 addresses to obtain country and location information
Both servers were developed with ModelContextProtocol SDK and can be executed via CLI or MCP Inspector.
Used to make HTTP requests to external APIs, enabling the MCP server to fetch One Piece character data and geolocation information for IP addresses.
Required runtime environment for the MCP server, with version 18 or higher needed.
Package manager used for installing dependencies, with version 9 or higher required.
The MCP server connects to a One Piece API hosted on Render (onepieceapi-50cm.onrender.com) to retrieve character information.
Provides validation for the geolocalizar tool to ensure inputs are valid IPv4 addresses.
MCP-Server (OnePieceServer & Geolocate)
This project contains two MCP servers developed with @modelcontextprotocol/sdk . Each exposes a useful tool that can be integrated with an MCP-compatible AI client.
📁 Content
onePiece.ts: MCP server for querying One Piece characters
geolocalizar.ts: MCP server for geolocating public IP addresses
Related MCP server: MCP Pokemon Server
⚙️ Requirements
Node.js ≥ 18
npm ≥ 9
📦 Install dependencies
🏴☠️ OnePieceServer MCP
📄 Description
OnePieceServer allows you to view information about characters from the anime/manga One Piece, either individually or from the entire available list.
🚀 Run
You can also use the MCP Inspector:
🛠 Exposed tool: one_piece
Input :
{ "id": "1" }For the complete list:
{ "id": "todos" }Output :
{ "content": [ { "type": "text", "text": "Información del personaje: { ... }" } ] }
🌐 API used
https://onepieceapi-50cm.onrender.com/personaje/{id}https://onepieceapi-50cm.onrender.com/personajes
🌍 Geolocate MCP
📄 Description
Geolocalizar allows you to obtain approximate geographic information from a public IP (IPv4) address.
🚀 Run
Or use with the MCP Inspector:
🛠 Exposed tool: geolocalizar
Input :
{ "ip": "8.8.8.8" }Output :
{ "content": [ { "type": "text", "text": "{ \"ip\": \"8.8.8.8\", \"country\": \"United States\", ... }" } ] }
🔐 Validation
Use zod to validate that the input is a valid IP in IPv4 format.
📁 Project Structure
🧪 Development
Both servers communicate via stdin and stdout using StdioServerTransport , allowing easy execution from CLI or integration with MCP clients.
🧑💻 Author
Developed by Diego Rodríguez
✉️ contacto@diegorodriguez.dev