Skip to main content

MCP server exposing Dawo's investment-research tools to any MCP host (Claude Desktop, Cursor, etc.). Thin proxy to the Dawo HTTP API — authenticate with your own Dawo Pro API key.

Project description

Dawo MCP Server

Use Dawo's investment-research tools from any MCP host (Claude Desktop, Cursor, …) — pull a Lead Analyst verdict, run a research plan, screen, compare, stress-test, and more, right inside your AI.

It's a thin proxy: every tool runs on Dawo's backend (identical to the in-app advisor). Nothing is computed locally. It's a Pro perk — you authenticate with your own Dawo API key, and tool execution stays Pro-gated.

1. Mint a Dawo API key (Pro)

In the Dawo web app: Settings → API keys → Create key. Copy the dwo_… key — it's shown once. (Or via API: POST /auth/api-keys with your logged-in session.)

Treat the key like a password. You can revoke it anytime (the key stops working immediately, and only works while your account is Pro).

2. Add it to your MCP host

Claude Desktop — edit claude_desktop_config.json:

{
  "mcpServers": {
    "dawo": {
      "command": "uvx",
      "args": ["dawo-mcp-server"],
      "env": {
        "DAWO_API_KEY": "dwo_xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "DAWO_BASE_URL": "https://api-morning-silence-6501.fly.dev"
      }
    }
  }
}

DAWO_BASE_URL is optional (defaults to production). Restart the host and ask, e.g., "Use Dawo to give me the verdict on NVDA" or "With Dawo, build a research plan for quality growth under $50B."

3. Run locally (dev)

cd services/mcp-server
pip install -e .
DAWO_API_KEY=dwo_... dawo-mcp-server   # speaks MCP over stdio

Or without installing: DAWO_API_KEY=dwo_... uvx --from . dawo-mcp-server.

How it works

  • On startup it calls GET /engines/tools/list and registers each tool (name + JSON schema) as an MCP tool.
  • On a tool call it POSTs to /engines/tools/execute with {tool, params} and your key.
  • 401/403 → your key is invalid/revoked or your plan isn't Pro; 503 → tools API temporarily off.

No data, secrets, or logic are stored locally beyond the API key you provide via env.

Publishing (maintainers)

Publishing is automated by the publish-mcp GitHub Action. Bump version in pyproject.toml, then push a matching tag — the workflow builds the wheel + sdist and uploads to PyPI:

# after bumping version in pyproject.toml (e.g. to 0.1.0)
git tag mcp-v0.1.0 && git push origin mcp-v0.1.0

It authenticates with the PYPI_API_TOKEN repo secret (Settings → Secrets and variables → Actions). You can also trigger it manually from the Actions tab. To build/upload locally instead:

cd services/mcp-server
python -m build && python -m twine upload dist/*   # TWINE_PASSWORD=pypi-…

The canonical install is the PyPI package — uvx dawo-mcp-server (see §2) — once published. The uvx --from git+https://github.com/…#subdirectory=services/mcp-server form only works for callers who can access the repo, so it's a dev convenience, not the public install path.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dawo_mcp_server-0.1.0.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dawo_mcp_server-0.1.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file dawo_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: dawo_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dawo_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5454dddcefd002041149fc391d7dc62f1692468892c69cd82d75bff6d2d079cd
MD5 b82fbd25a16488a4d671d21537a3b8bc
BLAKE2b-256 c410471c2efc2144d2dc20d941b1336e92826294d1daf65e200018555ea1180b

See more details on using hashes here.

File details

Details for the file dawo_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dawo_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f80706c86d8b6bb4b2210df26ee4da7b9b3c8f23fe5b6f8ddb34f6de3d8b3fdc
MD5 56c0d61954bbc9c4b724aad0010946f3
BLAKE2b-256 3bdd1a4eb091a7fb2bdef3e7b76dc0a3d59bb8fb1329fdf57911b1d75dd0b5f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page