Skip to main content
We already built MCP servers and a local server integrated with Claude successfully. This guide shows additional ways to connect Claude to MCP (Model Context Protocol) servers so you can automate day-to-day workflows — for example, converting documents to Markdown with a local connector. Claude advertises that it “works with your favorite tools.” From the Claude UI you can add connectors (Gmail, Google Drive, Linear, Square, Stripe, Zapier, and more) and grant the assistant access to reference or act on context from those apps.
A dark-mode desktop screenshot showing a "Connectors" dialog listing web integrations (Asana, Atlassian, Canva, Gmail, Google Drive, etc.) inside an app window. A large white mouse cursor is visible and the dialog is over a blue-themed code editor/IDE background.
Claude also supports Desktop Extensions (local processes) that behave similarly to web connectors. The key distinction is:
  • Web connectors → hosted HTTP MCP servers (accessible via URL).
  • Desktop extensions → local processes running on your machine.
A computer screenshot showing a "Connectors" settings window (Desktop extensions tab) listing connector plugins like PDF Filler, Spotify (AppleScript), Stripe, and various MCP servers. The dialog is over a dark-blue desktop background with a partially visible Spotify app on the right.
If a connector you need isn’t listed, you can add a custom connector and point Claude to any MCP-compatible HTTP endpoint (local, on your network, or public). Example: MarkItDown — a lightweight MCP server that converts documents to Markdown. You can install and run it locally (recommended inside a Python virtual environment) or run it in Docker. Quick local install and run (recommended inside a venv)
# create and activate a venv
python3 -m venv venv
source venv/bin/activate

# install the markitdown MCP package
pip install markitdown-mcp

# run an HTTP MCP server on localhost:3001
markitdown-mcp --http --host 127.0.0.1 --port 3001
Typical startup logs (representative):
INFO: Waiting for application startup.
StreamableHTTP session manager started
Application started with StreamableHTTP session manager!
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:3001 (Press CTRL+C to quit)
Docker-based usage and CLI configuration If you prefer Docker, the MarkItDown README includes Docker instructions. Example Claude desktop MCP server configuration (JSON) that runs the MCP server in Docker:
{
  "mcpServers": {
    "markitdown": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "markitdown-mcp:latest"
      ]
    }
  }
}
If you need to mount a work directory into the container, include a -v bind mount:
{
  "mcpServers": {
    "markitdown": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "/home/user/data:/workdir",
        "markitdown-mcp:latest"
      ]
    }
  }
}
Build and run the Docker image locally:
# build
docker build -t markitdown-mcp:latest .

# run interactively
docker run -it --rm markitdown-mcp:latest

# run with a mounted workdir
docker run -it --rm -v /home/user/data:/workdir markitdown-mcp:latest
Add a custom connector in Claude
  1. Start your MCP server (example: http://127.0.0.1:3001).
  2. In Claude go to Tools → Add connectors → Add custom connector.
  3. Enter the MCP HTTP endpoint. Typical endpoints:
    • Streamable HTTP: http://127.0.0.1:3001/mcp
    • SSE: http://127.0.0.1:3001/sse
  4. Confirm you trust the connector when prompted.
Once connected, upload a file in Claude and ask it to “Convert to Markdown.” Claude will call your MCP server, which returns the converted Markdown content.
When adding a custom connector pointing to a local server, verify the MCP service is reachable at the URL you provide (correct host, port, and path). If you run behind a firewall or use a different network interface, update the host accordingly.
Inspector and developer tools
  • Model Context Protocol (MCP) Inspector (npm): run npx @modelcontextprotocol/inspector and open http://localhost:5173/ to inspect MCP traffic.
  • Useful for debugging request/response flows, session management, and events.
Connector types you may encounter
Connector TypeDescriptionTypical Endpoint / Example
STDIO-backed MCP serversLocal processes invoked by the desktop clientN/A (process-level)
Streamable HTTP endpointsHTTP endpoints supporting Streamable HTTP sessionshttp://127.0.0.1:3001/mcp
SSE endpointsServer-Sent Events endpoints used for streaming updateshttp://127.0.0.1:3001/sse
Deployment and operational suggestions
GoalRecommendation
Keep services up long-termRun MCP servers as background services (systemd, launchd)
Isolate dependenciesRun MCP servers in Docker containers
Team/internal accessHost MCP servers on an internal network, or expose public endpoints only after securing them
Do not expose MCP endpoints publicly unless you understand and have implemented proper authentication, TLS, and access controls. Exposing local connectors without protection can leak sensitive data.
Troubleshooting checklist
  • Is the MCP server running? Check logs for successful startup.
  • Is the URL/path correct? Confirm whether the server expects /mcp (Streamable HTTP) or /sse.
  • Is the host reachable from the machine running Claude? Replace 127.0.0.1 with the machine’s IP if necessary for networked setups.
  • Use the MCP Inspector to view session traffic and errors.
Conclusion Claude integrates with many web and desktop connectors by default. When a connector isn’t available, you can implement a custom MCP server—locally, on your network, or in Docker—and register it as a custom connector in Claude to perform tasks such as converting documents to Markdown. Community registries list many community MCP servers you can adapt or reuse. Links and references

Watch Video