Latitude.sh MCP Server
Enables natural language management of Latitude.sh infrastructure, allowing users to list, create, and delete servers, projects, and SSH keys through MCP-compatible clients.
README
Latitude.sh MCP Server
Model Context Protocol (MCP) server for the Latitude.sh API
Overview
The Latitude.sh MCP Server exposes your Latitude.sh REST API as an AI-ready interface, allowing developer tools and assistants to list, create, and manage your infrastructure resources programmatically.
Use natural language to:
- 🔎 List and inspect servers, projects, and SSH keys
- ⚙️ Create or delete bare-metal instances
- 📡 Manage networking and automation directly from chat-based IDEs
Installation
🪶 Prerequisite: You’ll need a Latitude.sh API Key.
<details> <summary>DXT (Desktop Extension)</summary>
Install the MCP server as a Desktop Extension using the pre-built mcp-server.dxt file:
Simply drag and drop the mcp-server.dxt file onto Claude Desktop to install the extension.
The DXT package includes the MCP server and all necessary configuration. Once installed, the server will be available without additional setup.
[!NOTE] DXT (Desktop Extensions) provide a streamlined way to package and distribute MCP servers. Learn more about Desktop Extensions.
</details>
<details> <summary>Cursor</summary>
- Open Cursor Settings
- Select Tools and Integrations
- Select New MCP Server
- Paste the following JSON into the MCP Server Configuration:
{
"mcpServers": {
"Latitudesh": {
"command": "npx",
"args": [
"latitudesh",
"start",
"--bearer",
"<YOUR_API_KEY>"
]
}
}
}
Note: Replace YOUR_LATITUDE_API_TOKEN with your actual Latitude.sh bearer token.
</details>
<details> <summary>Claude Code CLI</summary>
claude mcp add latitudesh npx latitudesh start -- --bearer YOUR_LATITUDE_API_TOKEN
Note: Replace YOUR_LATITUDE_API_TOKEN with your actual Latitude.sh bearer token.
</details> <details> <summary>Codex</summary>
Add the MCP server with the Codex CLI:
codex mcp add Latitudesh -- npx latitudesh start --bearer YOUR_LATITUDE_API_TOKEN
Or add it directly to ~/.codex/config.toml:
[mcp_servers.Latitudesh]
command = "npx"
args = ["latitudesh", "start", "--bearer", "YOUR_LATITUDE_API_TOKEN"]
Verify it is configured:
codex mcp list
Note: Replace YOUR_LATITUDE_API_TOKEN with your actual Latitude.sh bearer token.
</details> <details> <summary>Windsurf</summary>
Refer to Official Windsurf documentation for latest information
- Open Windsurf Settings
- Select Cascade on left side menu
- Click on
Manage MCPs. (To Manage MCPs you should be signed in with a Windsurf Account) - Click on
View raw configto open up the mcp configuration file. - If the configuration file is empty paste the full json
{
"mcpServers": {
"Latitudesh": {
"command": "npx",
"args": [
"latitudesh",
"start",
"--bearer",
"<YOUR_API_KEY>"
]
}
}
}
</details> <details> <summary>VS Code</summary>
Refer to Official VS Code documentation for latest information
- Open Command Palette
- Search and open
MCP: Open User Configuration. This should open mcp.json file - If the configuration file is empty paste the full json
{
"mcpServers": {
"Latitudesh": {
"command": "npx",
"args": [
"latitudesh",
"start",
"--bearer",
"<YOUR_API_KEY>"
]
}
}
}
</details> <details> <summary>Claude Desktop</summary> Claude Desktop doesn't yet support SSE/remote MCP servers.
You need to do the following
- Open claude Desktop
- Open left hand side pane, then click on your Username
- Go to
Settings - Go to
Developertab (on the left hand side) - Click on
Edit ConfigPaste the following config in the configuration
{
"mcpServers": {
"Latitudesh": {
"command": "npx",
"args": [
"latitudesh",
"start",
"--bearer",
"<YOUR_API_KEY>"
]
}
}
}
Note: Replace YOUR_LATITUDE_API_TOKEN with your actual Latitude.sh bearer token.
</details> <details> <summary>VS Code</summary>
Refer to Official VS Code documentation for latest information
- Open Command Palette (
Cmd+Shift+P/Ctrl+Shift+P) - Search and open
MCP: Open User Configurationto open the mcp.json file - Add the configuration:
{
"servers": {
"Latitudesh": {
"type": "stdio",
"command": "npx",
"args": [
"latitudesh",
"start",
"--bearer",
"YOUR_LATITUDE_API_TOKEN"
]
}
}
}
- Save the file and restart VS Code
- Open Copilot Chat (
Cmd+Alt+I/Ctrl+Alt+I) and enable Agent mode - The Latitudesh tools will be available automatically
Note: Replace YOUR_LATITUDE_API_TOKEN with your actual Latitude.sh bearer token.
Tips for using with VS Code:
- Be explicit in your prompts: "List my servers from Latitude.sh" instead of just "list servers"
- Mention "Latitude.sh" or "MCP" to avoid Copilot searching local files
</details> <details> <summary>Claude Desktop</summary>
- Open Claude Desktop
- Click on your Username in the left sidebar
- Go to
Settings→Developertab - Click
Edit Config - Add the configuration:
{
"mcpServers": {
"Latitudesh": {
"command": "npx",
"args": [
"latitudesh",
"start",
"--bearer",
"YOUR_LATITUDE_API_TOKEN"
]
}
}
}
- Save and restart Claude Desktop
Note: Replace YOUR_LATITUDE_API_TOKEN with your actual Latitude.sh bearer token.
</details>
<details> <summary>Standalone CLI Usage</summary>
To start the MCP server directly:
npx latitudesh start --bearer YOUR_LATITUDE_API_TOKEN
Optional flags:
--server-index <0|1>- Select server (0=https://api.latitude.sh, 1=http://api.latitude.sh) [default: 0]--latitude-api-key <key>- API key for URL templating--log-level <level>- Log level (debug|warning|info|error) [default: info]
For a full list of server arguments:
npx latitudesh --help
</details>
Development
Run locally without a published npm package:
- Clone this repository
- Run
npm install - Run
npm run build - Run
node ./bin/mcp-server.js start --bearer <YOUR_API_KEY>
To use this local version with MCP Clients, you'll need to add the following config:
{
"mcpServers": {
"Latitudesh": {
"command": "node",
"args": [
"/absolute/path/to/latitudesh-mcp/bin/mcp-server.js",
"start",
"--bearer",
"<YOUR_API_KEY>"
]
}
}
}
Debug locally
Use the official MCP Inspector:
npx @modelcontextprotocol/inspector node ./bin/mcp-server.js start --bearer <YOUR_API_KEY>
This opens an interactive UI at http://localhost:6274.
🤝 Contributions
While we welcome contributions, most of this code is auto-generated. Manual edits to generated files will be overwritten on regeneration.
If you'd like to suggest improvements:
- Open an Issue or PR with your proof of concept
- We'll review and include it in future releases when possible
<!-- Start Summary [summary] -->
Summary
Latitude.sh API: The Latitude.sh API is a RESTful API to manage your Latitude.sh account. It allows you to perform the same actions as the Latitude.sh dashboard. <!-- End Summary [summary] -->
<!-- Start Table of Contents [toc] -->
Table of Contents
<!-- $toc-max-depth=2 -->
<!-- End Table of Contents [toc] -->
<!-- Start Installation [installation] -->
Installation
<details> <summary>Claude Desktop</summary>
Install the MCP server as a Desktop Extension using the pre-built mcp-server.mcpb file:
Simply drag and drop the mcp-server.mcpb file onto Claude Desktop to install the extension.
The MCP bundle package includes the MCP server and all necessary configuration. Once installed, the server will be available without additional setup.
[!NOTE] MCP bundles provide a streamlined way to package and distribute MCP servers. Learn more about Desktop Extensions.
</details>
<details> <summary>Cursor</summary>
Or manually:
- Open Cursor Settings
- Select Tools and Integrations
- Select New MCP Server
- If the configuration file is empty paste the following JSON into the MCP Server Configuration:
{
"command": "npx",
"args": [
"latitudesh",
"start",
"--server-index",
"0",
"--latitude-api-key",
"<insert your api key here>",
"--bearer",
""
]
}
</details>
<details> <summary>Claude Code CLI</summary>
claude mcp add Latitudesh -- npx -y latitudesh start --server-index 0 --latitude-api-key <insert your api key here> --bearer
</details> <details> <summary>Gemini</summary>
gemini mcp add Latitudesh -- npx -y latitudesh start --server-index 0 --latitude-api-key <insert your api key here> --bearer
</details> <details> <summary>Codex</summary>
Add the MCP server with the Codex CLI:
codex mcp add Latitudesh -- npx -y latitudesh start --server-index 0 --latitude-api-key <insert your api key here> --bearer <insert your bearer token here>
Or add it directly to ~/.codex/config.toml:
[mcp_servers.Latitudesh]
command = "npx"
args = ["-y", "latitudesh", "start", "--server-index", "0", "--latitude-api-key", "<insert your api key here>", "--bearer", "<insert your bearer token here>"]
Verify it is configured:
codex mcp list
</details> <details> <summary>Windsurf</summary>
Refer to Official Windsurf documentation for latest information
- Open Windsurf Settings
- Select Cascade on left side menu
- Click on
Manage MCPs. (To Manage MCPs you should be signed in with a Windsurf Account) - Click on
View raw configto open up the mcp configuration file. - If the configuration file is empty paste the full json
{
"command": "npx",
"args": [
"latitudesh",
"start",
"--server-index",
"0",
"--latitude-api-key",
"<insert your api key here>",
"--bearer",
""
]
}
</details> <details> <summary>VS Code</summary>
Or manually:
Refer to Official VS Code documentation for latest information
- Open Command Palette
- Search and open
MCP: Open User Configuration. This should open mcp.json file - If the configuration file is empty paste the full json
{
"command": "npx",
"args": [
"latitudesh",
"start",
"--server-index",
"0",
"--latitude-api-key",
"<insert your api key here>",
"--bearer",
""
]
}
</details> <details> <summary> Stdio installation via npm </summary> To start the MCP server, run:
npx latitudesh start --server-index 0 --latitude-api-key <insert your api key here> --bearer
For a full list of server arguments, run:
npx latitudesh --help
</details> <!-- End Installation [installation] -->
<!-- Start Progressive Discovery [dynamic-mode] -->
Progressive Discovery
MCP servers with many tools can bloat LLM context windows, leading to increased token usage and tool confusion. Dynamic mode solves this by exposing only a small set of meta-tools that let agents progressively discover and invoke tools on demand.
To enable dynamic mode, pass the --mode dynamic flag when starting your server:
{
"mcpServers": {
"Latitudesh": {
"command": "npx",
"args": ["latitudesh", "start", "--mode", "dynamic"],
// ... other server arguments
}
}
}
In dynamic mode, the server registers only the following meta-tools instead of every individual tool:
list_tools: Lists all available tools with their names and descriptions.describe_tool: Returns the input schema for one or more tools by name.execute_tool: Executes a tool by name with the provided input parameters.
This approach significantly reduces the number of tokens sent to the LLM on each request, which is especially useful for servers with a large number of tools. <!-- End Progressive Discovery [dynamic-mode] -->
<!-- Placeholder for Future Speakeasy SDK Sections -->
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.