Discover Awesome MCP Servers

Extend your agent with 84,516 capabilities via MCP servers.

All84,516
Agent Sense

Agent Sense

Provides AI agents with environmental sensing capabilities including current time, IP-based geolocation, system information, and hardware details. Enables more contextual and accurate AI responses based on user's environment.

Harvest MCP Server

Harvest MCP Server

A Model Context Protocol server that integrates with the Harvest API v2, enabling time tracking management including listing, creating, updating, and deleting time entries, as well as managing projects, tasks, users and generating reports.

Secret MCP

Secret MCP

Enables evidence-grounded web design analysis by searching GDWEB references and generating isolated, per-reference DESIGN_INDEX specification documents for LLM-driven frontend development.

puzzletide-mcp

puzzletide-mcp

MCP server for puzzle generation: word search generator, crossword generator, and sudoku generator + solver, with printable PDF worksheets, themed word banks, and verifiable LLM evals. Works with Claude Desktop, Cursor, Windsurf, and any Model Context Protocol client. From the makers of puzzletide.com.

sshops

sshops

A lightweight, zero-agent SSH operations tool that enables remote command execution, file transfer, and audit logging. It integrates as an MCP server for AI-driven infrastructure management.

mcp-hackernews

mcp-hackernews

Enables searching and retrieving top stories and individual items from Hacker News, with access to scores, comments, authors, and timestamps.

Proto Server

Proto Server

Enables AI assistants to explore and understand Protocol Buffer (.proto) files through fuzzy search, service definitions, and message structure analysis. Integrates with Cursor IDE to provide natural language queries about protobuf schemas and API definitions.

Faker MCP Server

Faker MCP Server

Generates realistic, context-aware synthetic data for AI agents to populate databases, mock APIs, and create test scenarios without exposing real PII.

mcp-riksdagen-se

mcp-riksdagen-se

Enables AI agents to query Swedish Parliament open data through natural language.

Texas Grocery MCP

Texas Grocery MCP

Enables AI agents to manage H-E-B grocery shopping tasks including product search, cart management, and coupon clipping through natural language.

MCPKG - Model Context Protocol Knowledge Graph

MCPKG - Model Context Protocol Knowledge Graph

Um servidor MCP (Protocolo de Contexto de Modelo) que expõe primitivas para interagir com um Grafo de Conhecimento.

binance-mcp-server

binance-mcp-server

Provides comprehensive Binance trading capabilities through Claude Desktop, including account management, spot and futures trading, market data, and advanced analysis tools.

Prometheus MCP Server

Prometheus MCP Server

Enables AI assistants to query Prometheus metrics, monitor alerts, and analyze system health through read-only access to your Prometheus server with built-in query safety and optional AI-powered metric analysis.

AgentValet

AgentValet

Identity and credential governance for AI agents. Every agent gets its own cryptographic identity, scoped short-lived credentials per platform, human approval on sensitive actions, and an immutable audit log.

odds-mcp

odds-mcp

MCP server for odds data that provides tools to query consensus odds, fair prices, and outliers, and to safely propose, approve, and publish boosts with audit logging.

gdbmcp

gdbmcp

Attaches to a running C++ process and exposes tools to inspect live memory via a resident GDB subprocess, enabling LLMs to read fields, follow pointers, and access STL containers without modifying target code.

todo-full

todo-full

A todo list MCP server with Tools, Resources, and Prompts, demonstrating MCP features and compatible with DeepSeek and Claude Code.

Weather MCP Server

Weather MCP Server

Provides weather alerts and forecasts via the National Weather Service API, enabling Claude to answer weather-related queries.

Skool MCP

Skool MCP

Gives Claude access to your Skool community, enabling reading and writing posts, comments, members, classroom content, and DMs using your own login.

fred-mcp-server

fred-mcp-server

An MCP server that provides access to the full FRED API (Federal Reserve Economic Data), including the Maps API for regional and geographic data.

TFS MCP Server

TFS MCP Server

Bridges Claude Code with an on-premise Azure DevOps Server / TFS collection, enabling work item and Git operations via PAT authentication.

Ace Context MCP

Ace Context MCP

Persistent, local-first memory for your AI chats. Save context in one chat, load it in another — across Claude web, Claude Code, Cursor, Cline, and Claude Desktop. One store, on your own disk, reachable from every tool via MCP, CLI, REST, or SDK.

grok-bot-rooms-server

grok-bot-rooms-server

Hosted MCP registry for grok-bot-rooms, enabling room creation, membership, and messaging via tools and slash commands. Deployable on Vercel with Turso, it serves as the backend for guest plugins.

mcp-utility-server

mcp-utility-server

A Python-based MCP server providing essential utility tools: web fetching, current time, and calculator functionality.

VseGPT MCP Servers

VseGPT MCP Servers

Servidor MCP para VseGPT

mcp-openalex

mcp-openalex

MCP server for the OpenAlex scholarly database, providing AI agents with tools to search and retrieve academic works, authors, and institutions via natural language queries.

@cyanheads/chembl-mcp-server

@cyanheads/chembl-mcp-server

Link compounds to protein targets, rank bioactivity (IC50/Ki/EC50), and look up drug mechanisms and indications over ChEMBL via MCP.

Argos-MCP

Argos-MCP

Enables Claude Code to securely interact with PostgreSQL, MySQL, SQLite, and SQL Server databases, featuring read-only mode, query validation, SSH tunneling, and field redaction for production-safe data access.

mcp-yt-dlp

mcp-yt-dlp

MCP server wrapping yt-dlp for downloading videos and audio from URLs, providing tools to check dependencies, retrieve video metadata, and perform downloads.

MCP Server - VSCode Tutorial

MCP Server - VSCode Tutorial

## Tutorial: Construindo um Servidor MCP e Usando o VS Code como Cliente MCP Este tutorial irá guiá-lo através do processo de construção de um servidor MCP (Minecraft Protocol) e da utilização do VS Code como um cliente para interagir com ele. **O que é MCP (Minecraft Protocol)?** O Minecraft Protocol é o protocolo de comunicação usado entre o cliente Minecraft e o servidor Minecraft. Ele define como os dados são formatados e trocados para permitir que o cliente e o servidor interajam. **Por que construir um servidor MCP?** Construir um servidor MCP permite que você: * **Entenda o protocolo Minecraft:** Aprenda como o cliente e o servidor se comunicam. * **Crie ferramentas personalizadas:** Desenvolva ferramentas para analisar o tráfego de rede do Minecraft, automatizar tarefas ou criar mods. * **Experimente com o protocolo:** Explore as possibilidades do protocolo e crie novas funcionalidades. **Pré-requisitos:** * **Node.js e npm:** Certifique-se de ter o Node.js e o npm (Node Package Manager) instalados em seu sistema. Você pode baixá-los em [https://nodejs.org/](https://nodejs.org/). * **VS Code:** O Visual Studio Code é um editor de código popular e gratuito. Você pode baixá-lo em [https://code.visualstudio.com/](https://code.visualstudio.com/). * **Conhecimento básico de JavaScript:** Este tutorial usará JavaScript para construir o servidor e o cliente. **Passo 1: Criando o Servidor MCP** 1. **Crie um diretório para o seu projeto:** ```bash mkdir mcp-server cd mcp-server ``` 2. **Inicialize um projeto Node.js:** ```bash npm init -y ``` 3. **Instale as dependências:** Precisaremos de algumas bibliotecas para lidar com a comunicação de rede e o protocolo Minecraft. Usaremos `node-minecraft-protocol` para lidar com o protocolo e `ws` para websockets. ```bash npm install node-minecraft-protocol ws ``` 4. **Crie o arquivo `server.js`:** ```bash touch server.js ``` 5. **Adicione o seguinte código ao `server.js`:** ```javascript const mc = require('node-minecraft-protocol'); const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8080 }); // Porta para a conexão WebSocket const server = mc.createServer({ 'online-mode': false, // Desabilita a verificação de autenticação (para testes locais) host: '0.0.0.0', // Escuta em todas as interfaces port: 25565, // Porta padrão do Minecraft version: '1.19.4', // Versão do Minecraft (ajuste conforme necessário) motd: 'Meu Servidor MCP', 'max-players': 10 }); server.on('login', function(client) { console.log(`${client.username} se conectou!`); client.on('end', function() { console.log(`${client.username} desconectou.`); }); // Envie uma mensagem ao cliente client.write('chat', { message: JSON.stringify({ translate: 'chat.type.announcement', with: [ 'Servidor', 'Bem-vindo ao servidor MCP!' ] }), position: 0, sender: '0' }); // Envie a lista de jogadores (necessário para o cliente funcionar corretamente) client.write('player_info', { action: 0, // Add player data: [{ UUID: client.uuid, name: client.username, properties: [], gamemode: 0, ping: 0, displayName: undefined }] }); client.write('position', { x: 0, y: 0, z: 0, yaw: 0, pitch: 0, flags: 0, teleportId: 0 }); client.write('respawn', { dimension: 0, worldName: 'minecraft:overworld', hashedSeed: 0, gamemode: 0, previousGamemode: 0, isDebug: false, isFlat: false, copyMetadata: true }); client.write('entity_status', { entityId: 0, entityStatus: 22 }); client.write('time_update', { worldAge: [BigInt(0), BigInt(0)], timeOfDay: [BigInt(6000), BigInt(6000)] }); client.write('game_event', { event: 3, value: 0 }); client.write('difficulty', { difficulty: 2, difficultyLocked: false }); client.write('world_event', { effectId: 2001, location: { x: 0, y: 0, z: 0 }, data: 0, disableRelativeVolume: false }); client.write('world_event', { effectId: 2001, location: { x: 0, y: 0, z: 0 }, data: 0, disableRelativeVolume: false }); client.write('player_abilities', { flags: 2, flyingSpeed: 0.05, walkingSpeed: 0.1 }); client.write('held_item_change', { slot: 0 }); client.write('update_view_position', { chunkX: 0, chunkZ: 0 }); client.write('update_view_distance', { viewDistance: 8 }); client.write('synchronize_recipes', { recipes: [] }); client.write('tags', { tags: [] }); client.write('entity_metadata', { entityId: 0, metadata: [ { "key": 0, "type": 0, "value": 0 } ] }); client.write('update_health', { health: 20, food: 20, foodSaturation: 5 }); client.write('player_list_header_and_footer', { header: JSON.stringify({ text: 'Bem-vindo!' }), footer: JSON.stringify({ text: 'Divirta-se!' }) }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0 }); client.write('unload_chunk', { chunkX: 0, chunkZ: 0