Integration

ClearlyDefined integration

ClearlyDefined is an open, community-curated database of licensing and provenance facts for open source packages (npm, PyPI, Maven, NuGet, Go, crates, gems, Debian, Conda, git and more). Look up a component version's definition (declared and discovered licenses, copyright holders, source location, hashes, quality scores), search definitions by name, license, release date or score, read community curations and their GitHub pull requests, list harvested tool outputs, and generate a third-party notice file for a list of components. A component is addressed by its coordinates type/provider/namespace/name/revision, with - as the namespace when there is none. No credential is needed; the vendor rate-limits the batch definition, batch curation and notice routes to 250 requests per minute and every other route to 2,000 per minute, answering HTTP 429 above that. Contributing a curation (which opens a GitHub pull request), previewing a definition with an unsaved curation, queuing or uploading harvest results, and reading raw attachment text are not exposed.

Ask it in chat

Say what should happen.
The workflow builds itself.

When this happens, do that in ClearlyDefined.Built from the 13 ClearlyDefined tools below, on the connection you add once.

What you can do with ClearlyDefined

Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.

Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.

Definition, 4 operations

  • get_definitionGet definitionGETGets the definition of one component version: declared and discovered licenses, copyright holders, source location, hashes and scores. Pass expand=-files to leave out the per-file list. Queues a harvest when the component was never harvested.
  • get_definitions_batchGet definitions batchPOSTGets the definitions of several component versions in one call. Send coordinate strings; returns an object keyed by each coordinates string, each value shaped like get_definition. Rate-limited to 250 calls per minute.
  • search_definitionsSearch definitionsGETSearches definitions by type, provider, namespace, name, declared license, release date range or score range; returns up to 100 definitions per page (without the per-file list) and a continuationToken for the next page.
  • suggest_coordinatesSuggest coordinatesGETSuggests coordinates of known definitions whose coordinates contain a text (a package name, a GitHub org); returns matching coordinate strings of every type, to pass to get_definition.

Curation, 3 operations

  • get_curationGet curationGETGets the merged community curation of one component version: the licensing and description facts curators corrected. Answers 404 when that version has no curation.
  • get_curations_batchGet curations batchPOSTGets the curations of several components in one call. Send coordinate strings; returns the curation data keyed by coordinates. Rate-limited to 250 calls per minute.
  • list_curationsList curationsGETLists the community curations of every revision of a component, plus the curation pull requests that touched it on the clearlydefined/curated-data GitHub repository.

Harvest, 3 operations

  • get_harvested_tool_outputGet harvested tool outputGETGets the summarized result one harvest tool version produced for one component version: what it described, the licenses and copyrights it found, and per-file findings.
  • list_harvested_outputsList harvested outputsGETLists the harvest results stored for one component version, one entry per tool and tool version (coordinates/tool/toolVersion), to read with get_harvested_tool_output.
  • list_harvested_tool_outputsList harvested tool outputsGETLists the stored harvest results of one harvest tool (clearlydefined, licensee, reuse, scancode) for one component version, one entry per tool version.

Pr, 2 operations

  • get_definition_with_curation_prGet definition with curation prGETGets the definition of one component version as it would be if a given curation pull request were merged, in the same shape as get_definition.
  • get_proposed_curationGet proposed curationGETGets the curation a given pull request proposes for one component version, before or after it is merged.

Notice, 1 operation

  • create_noticeCreate noticePOSTGenerates a third-party notice (attribution) file for a list of components from their definitions, and reports components with no definition, license or copyright. Rate-limited to 250 calls per minute.

Use ClearlyDefined from Claude Code, Cursor or Codex

Connect ClearlyDefined in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its ClearlyDefined operations become tools the client can call, next to every other integration you connected.

Claude Code
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"
Codex (~/.codex/config.toml)
[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"

[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"
Cursor, Claude Desktop and other JSON configs
{
  "mcpServers": {
    "livecontext": {
      "type": "http",
      "url": "https://livecontext.ai/mcp",
      "headers": {
        "X-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Set up the MCP server step by step

How to connect ClearlyDefined

  1. Create your workspace

    Sign up free. Nothing to install.

  2. Connect ClearlyDefined once

    ClearlyDefined needs no credential, so its tools work immediately.

  3. Describe the job in chat

    The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.

ClearlyDefined integration FAQ

What can you do with the ClearlyDefined integration?

LiveContext exposes 13 operations on ClearlyDefined, covering definition, curation, harvest and pr.

Popular integrations

Browse the whole catalog