{"slug": "creating-remote-mcp-server-with-mcp-proxy", "title": "Creating Remote MCP Server with MCP Proxy", "summary": "A developer published a walkthrough for running a remote Model Context Protocol server built with FastMCP and backed by an SQLite database, then bridging it to the local Claude Desktop app through the mcp-proxy tool. The server uses HTTP with Server-Sent Events so streamed query results reach Claude Desktop as if the database were local, and a READ_ONLY flag blocks insert, update and delete queries. The sample code is hosted in a public GitHub repository.", "body_md": "The Model Context Protocol (MCP) is a standard for organizing contextual data used by Large Language Models (LLMs). Instead of relying only on plain prompts, MCP structures key information — like user identity, goals, memory, and tools — so models can act more consistently across sessions, apps, and environments. This guide walks through running a sample MCP server built with FastMCP, backed by an SQLite database, and bridging it to your local Claude Desktop application using a local `mcp-proxy`. By the end, you'll have a remote MCP server exposing natural-language-powered database endpoints that Claude Desktop can query directly.\n\nThe code for the MCP server and the sample SQLite database is available in this [GitHub repository](https://github.com/vultr-marketing/code-samples/tree/main). To set up the server remotely, follow the steps below in your system terminal.\n\n**1. Deploy an Ubuntu server.**\n\n**2. Clone the GitHub repository:**\n\n``` bash\n$ git clone https://github.com/vultr-marketing/code-samples.git\n```\n\n**3. Navigate into the `mcp_sqlite_sse` directory:**\n\n``` bash\n$ cd code-samples/mcp/mcp_sqlite_sse\n```\n\n**4. Create a `.env` file:**\n\n``` bash\n$ nano .env\n```\n\n**5. Add the following variables to the file:**\n\n```\nDB_PATH=sample.db\nMCP_PORT=8080\nREAD_ONLY=true\n```\n\n`DB_PATH`: Path to your SQLite database file.` MCP_PORT`: Port used by the MCP server (not used in stdio mode, but good to define).`READ_ONLY`: Set to true to block insert/update/delete queries for safety.\nSave and close the file.\n\n**6. Install dependencies:**\n\n``` bash\n$ pip3 install -r requirements.txt\n```\n\n**7. Allow incoming connections to port `8080`:**\n\n``` bash\n$ ufw allow 8080\n```\n\n**8. Run the MCP server:**\n\n``` bash\n$ python3 server.py\n```\n\nThe server script launches a Model Context Protocol (MCP) server using `FastMCP` and connects it to a local SQLite database. It enables structured interaction with the database using natural language, typically via an LLM interface.\n\n`http` with Server-Sent Events (SSE)\nThe server uses the `http` transport layer to communicate over standard web protocols, which is ideal for remote deployment on any cloud instance. It supports Server-Sent Events (SSE), a feature that enables real-time, streamed responses from the server to your local Claude Desktop app via `mcp-proxy`.\n\nSSE is a core part of live interaction between Claude and your remote MCP server. It ensures that streamed responses (like query results or multi-step outputs) arrive smoothly and in real-time. This design allows Claude Desktop to interact with your database seamlessly, as if the server were running locally. The SSE implementation is lightweight and handled within the FastAPI-based backend exposed by FastMCP.\n\n[Download the Claude Desktop application](https://claude.ai/download). It automatically detects MCP servers defined in its configuration file and makes them accessible for use within any conversation.\n\n**1. Install the `mcp-proxy` dependency on your local system:**\n\n``` bash\n$ uv tool install mcp-proxy\n```\n\n**2. Get the path to the installed dependency:**\n\n``` bash\n$ where mcp-proxy\n```\n\nCopy the path to be used later.\n\n**3. Start the Claude Desktop application.**\n\n**4. Locate the settings option in the application.**\n\n**5. Select Developer settings.**\n\n**6. Click Edit Config.**\n\n**7. Add the following configuration snippet to your Claude Desktop config file:**\n\n```\n{\n    \"mcpServers\": {\n        \"remote-fastmcp\": {\n            \"command\": \"<MCP_PROXY_PATH>\",\n            \"args\": [\n                \"http://<SERVER_IP>:8080/sse\"\n            ],\n            \"env\": {\n                \"API_ACCESS_TOKEN\": \"\"\n            }\n        }\n    }\n}\n```\n\n**8. Once the new configuration is in place, restart the Claude Desktop application.**\n\n**9. To confirm the server is running, go to the Developer settings in Claude Desktop and check if the status next to the JSON file shows as running.**\n\n**10. Confirm the MCP server tools are available to the application.**\n\nYou can run interactive queries by chatting naturally. Using the available tools, the LLM translates your requests into SQL queries, executes them on the sample database, and responds in plain language.\n\nThe data returned is sample data used for demonstration purposes and may differ from actual data. The LLM also displays the database queries it is executing and the tools it is using to retrieve the data.\n\n`false` once you're comfortable letting the LLM run write queries, and add stricter input validation first.\nFor the full guide with additional tips, visit the original article on **[Vultr Docs](https://docs.vultr.com/how-to-create-remote-mcp-server-with-mcp-proxy)**.", "url": "https://wpnews.pro/news/creating-remote-mcp-server-with-mcp-proxy", "canonical_source": "https://dev.to/vultr/creating-remote-mcp-server-with-mcp-proxy-5gj8", "published_at": "2026-10-29 17:05:59+00:00", "updated_at": "2026-10-29 17:20:21.013810+00:00", "lang": "en", "topics": ["ai-agents", "agent-protocols", "ai-tools", "developer-tools", "large-language-models"], "entities": ["Model Context Protocol", "FastMCP", "Claude Desktop", "mcp-proxy", "SQLite", "GitHub", "Vultr"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/creating-remote-mcp-server-with-mcp-proxy", "markdown": "https://wpnews.pro/news/creating-remote-mcp-server-with-mcp-proxy.md", "text": "https://wpnews.pro/news/creating-remote-mcp-server-with-mcp-proxy.txt", "jsonld": "https://wpnews.pro/news/creating-remote-mcp-server-with-mcp-proxy.jsonld"}}