Skip to content

TEDDI Tool

Search the ETSI TEDDI terminology database from the command line or through an MCP server for AI agents.

Overview

TEDDI Tool wraps ETSI's TErms and Definitions Database Interactive (TEDDI) in two interfaces that share one async client, parser and output layer:

  • CLI — search-term and list-bodies with table, JSON, ISON and TOON output.
  • MCP server — search_teddi, get_term_info and list_technical_bodies tools for Claude, OpenCode and other MCP clients.

Requests go through a local SQLite cache (hishel) with a two-hour TTL, and the scraped HTML is parsed into typed TermResult/DocumentRef dataclasses. The technical-body filter accepts the codes published by the TEDDI search form (fetched live and cached for 90 days), case-insensitively.

Requirements

Python 3.13+ and network access to webapp.etsi.org. No account or API key is needed.

Installation

# with uv (recommended)
uv tool install teddi-tool

# or with pipx
pipx install teddi-tool

From a checkout (requires mise):

git clone https://github.com/jr2804/teddi-tool.git
cd teddi-tool
mise install     # pinned toolchain
mise dev         # uv sync -U --dev --all-extras --all-groups

Quick Start

# Exact-match lookup
teddi search-term "QoS" --pattern exactmatch

# Search definitions only, JSON output
teddi search-term "QoS" --scope definitions --output json

# Filter by technical bodies (codes are case-insensitive)
teddi search-term "test" --technical-bodies "3gpp,stq"

# List the supported technical bodies
teddi list-bodies

# Start the MCP server on stdio
teddi-mcp

teddi-tool (primary) and teddi are the same CLI; teddi-cli is kept as an alias for existing scripts and teddi-mcp starts the server directly.

MCP Client Configuration

{
  "mcpServers": {
    "teddi": {
      "command": "teddi-mcp"
    }
  }
}

Documentation

License

MIT — see LICENSE.