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 -->
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。