Skip to main content

Taranis MCP Server

A read-oriented Model Context Protocol server for Taranis AI. The current version exposes the list_stories tool over stdio or authenticated Streamable HTTP.

Requirements

  • Python 3.12 or newer
  • uv
  • A reachable Taranis instance and a user with ASSESS_ACCESS

Install the locked dependencies:

uv sync --frozen

Configuration

Copy .env.example to .env for command-line use. Set TARANIS_API_URL to the complete API root, including /api, then choose exactly one authentication mode:

  • TARANIS_USERNAME and TARANIS_PASSWORD: the server logs in lazily and can log in again after an expired JWT.
  • TARANIS_ACCESS_TOKEN: use an existing JWT returned by Taranis /api/auth/login; it cannot be renewed without credentials.

Do not reuse a Taranis JWT as MCP_ACCESS_TOKEN. The latter protects the MCP HTTP endpoint and is not needed for stdio.

Desktop Apps and MCP Client Configuration

This server is intended for desktop AI assistants as well as developer tools. Desktop applications with MCP support include Claude Desktop and OpenAI's ChatGPT desktop app. IDE and terminal clients include Cursor, Zed, Codex CLI, and the Codex IDE extension. If another assistant, such as Mistral Le Chat, offers MCP integration in your installed version or workspace, use its local stdio or remote Streamable HTTP configuration as appropriate.

Clients that support local stdio can launch the server as a child process. The configuration file location and surrounding schema depend on the client, but the server command, arguments, and environment are the same. Desktop applications that support only remote MCP connectors should use the Streamable HTTP setup below instead.

Claude Desktop and Cursor support the following mcpServers definition directly. Add it to claude_desktop_config.json, a Cursor user-level MCP configuration, or .cursor/mcp.json, replacing the repository path, uv path, Taranis URL, and credentials:

{
  "mcpServers": {
    "taranis": {
      "command": "/absolute/path/to/uv",
      "args": [
        "run",
        "--frozen",
        "--project",
        "/absolute/path/to/taranis-mcp-server",
        "taranis-mcp"
      ],
      "env": {
        "MCP_TRANSPORT": "stdio",
        "TARANIS_API_URL": "https://taranis.example/api",
        "TARANIS_USERNAME": "analyst",
        "TARANIS_PASSWORD": "change-me"
      }
    }
  }
}

Use which uv on Linux/macOS or where uv on Windows to find the executable. An absolute path is recommended because desktop applications may have a smaller PATH than an interactive shell. To use a JWT instead of username/password, replace both credential entries with "TARANIS_ACCESS_TOKEN": "replace-with-a-taranis-jwt".

Do not commit a project-level MCP configuration containing credentials; this repository ignores .cursor/mcp.json for that reason. Restart or reload the client after saving its configuration. Its MCP settings should show a taranis server with the list_stories tool. For clients such as Zed that use a different configuration schema, carry over the same command, argument list, and environment values into that client's stdio MCP definition.

Codex

Codex CLI, the Codex IDE extension, and the ChatGPT desktop app share MCP configuration from ~/.codex/config.toml. Add this server definition, replacing both absolute paths:

[mcp_servers.taranis]
command = "/absolute/path/to/uv"
args = [
  "run",
  "--frozen",
  "--project",
  "/absolute/path/to/taranis-mcp-server",
  "taranis-mcp",
]
env_vars = ["TARANIS_USERNAME", "TARANIS_PASSWORD"]

[mcp_servers.taranis.env]
MCP_TRANSPORT = "stdio"
TARANIS_API_URL = "https://taranis.example/api"

Export the forwarded credentials before starting Codex:

export TARANIS_USERNAME=analyst
export TARANIS_PASSWORD=change-me
codex mcp list
codex

Use /mcp inside the Codex TUI to confirm that taranis is active and exposes list_stories. To use a JWT instead, replace the two names in env_vars with TARANIS_ACCESS_TOKEN and export that variable.

Streamable HTTP

For a separately running server, configure MCP_TRANSPORT=streamable-http, set a strong MCP_ACCESS_TOKEN, and start:

uv run --frozen taranis-mcp

The default endpoint is http://127.0.0.1:8000/mcp. Clients must send Authorization: Bearer <MCP_ACCESS_TOKEN>. For a non-local deployment, configure MCP_PUBLIC_URL, MCP_ISSUER_URL, MCP_ALLOWED_HOSTS, and MCP_ALLOWED_ORIGINS for the externally visible address, and terminate TLS at a trusted reverse proxy.

Development checks

uv run --frozen pytest
uv run --frozen ruff check .

Download files

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

Source Distribution

taranis_mcp_server-0.1.0.tar.gz (51.7 kB view details)

Uploaded Source

Built Distribution

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

taranis_mcp_server-0.1.0-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: taranis_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 51.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for taranis_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 158b6ba8337a3ef99340ca12a3de73d24893de5759642634136729160c974d25
MD5 0f31f2f06054a74dde3923ba441fb5f4
BLAKE2b-256 d441a7424cc432dfccf60a1e9b1f9c3f74a00b238601497d2ff998a0379b5f1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for taranis_mcp_server-0.1.0.tar.gz:

Publisher: release.yml on taranis-ai/taranis-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for taranis_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d718dd47da79ed024e1456e13e5cf7b70923d8fb300a00bdb9102714aa2eab46
MD5 22288cd002668c6faace443050cf2812
BLAKE2b-256 c13dca5cd571b79d26c1b064a998ccfc1375a5f1b94b3aa383c1912ce3298629

See more details on using hashes here.

Provenance

The following attestation bundles were made for taranis_mcp_server-0.1.0-py3-none-any.whl:

Publisher: release.yml on taranis-ai/taranis-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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