▲HIGHLAND DOCS

MCP in editors and other clients

Any client that speaks MCP over Streamable HTTP can connect directly. Clients that only speak stdio can use the mcp-remote bridge (last section).

In every example, keep the key in an environment variable or a secret prompt, never in a file you commit.

Cursor

~/.cursor/mcp.json (or .cursor/mcp.json in a project)
{
  "mcpServers": {
    "highland": {
      "url": "https://api.highlnd-intel.group/mcp",
      "headers": { "Authorization": "Bearer ${env:HIGHLAND_KEY}" }
    }
  }
}

Open Cursor Settings → MCP, check Highland is green, then ask the agent to use a tool by name.

VS Code (GitHub Copilot agent mode)

.vscode/mcp.json
{
  "inputs": [
    { "type": "promptString", "id": "highland-key", "description": "Highland API key", "password": true }
  ],
  "servers": {
    "highland": {
      "type": "http",
      "url": "https://api.highlnd-intel.group/mcp",
      "headers": { "Authorization": "Bearer ${input:highland-key}" }
    }
  }
}

VS Code asks for the key once and stores it securely. Open Copilot Chat in Agent mode and pick the Highland tools from the tools button.

Windsurf

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "highland": {
      "serverUrl": "https://api.highlnd-intel.group/mcp",
      "headers": { "Authorization": "Bearer ${env:HIGHLAND_KEY}" }
    }
  }
}

Codex CLI

~/.codex/config.toml
[mcp_servers.highland]
url = "https://api.highlnd-intel.group/mcp"
bearer_token_env_var = "HIGHLAND_KEY"

Gemini CLI

~/.gemini/settings.json
{
  "mcpServers": {
    "highland": {
      "httpUrl": "https://api.highlnd-intel.group/mcp",
      "headers": { "Authorization": "Bearer $HIGHLAND_KEY" }
    }
  }
}

Zed and stdio-only clients (mcp-remote bridge)

Zed settings.json
{
  "context_servers": {
    "highland": {
      "command": {
        "path": "npx",
        "args": ["-y", "mcp-remote", "https://api.highlnd-intel.group/mcp", "--header", "Authorization:${HIGHLAND_AUTH}"],
        "env": { "HIGHLAND_AUTH": "Bearer hk_live_YOUR_KEY" }
      }
    }
  }
}

The same command + args work in any client that launches stdio servers.

Your own code (MCP SDK)

python (mcp SDK)
# pip install mcp
import os, asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client

async def main():
    headers = {"Authorization": f"Bearer {os.environ['HIGHLAND_KEY']}"}
    async with streamablehttp_client("https://api.highlnd-intel.group/mcp", headers=headers) as (r, w, _):
        async with ClientSession(r, w) as s:
            await s.initialize()
            tools = await s.list_tools()
            print(len(tools.tools), "tools")
            out = await s.call_tool("dns-lookup", {"domain": "example.com"})
            print(out.structuredContent)

asyncio.run(main())
typescript (@modelcontextprotocol/sdk)
// npm i @modelcontextprotocol/sdk
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";

const transport = new StreamableHTTPClientTransport(new URL("https://api.highlnd-intel.group/mcp"), {
  requestInit: { headers: { Authorization: `Bearer ${process.env.HIGHLAND_KEY}` } },
});
const client = new Client({ name: "my-app", version: "1.0.0" });
await client.connect(transport);
const { tools } = await client.listTools();
const out = await client.callTool({ name: "hash", arguments: { text: "hello", algorithm: "sha256" } });
console.log(tools.length, out.structuredContent);