Skip to content

ContexteTech

by contexte-tech · remote · local (pypi) · no sign-in to list tools · v0.5.2 · published by GitHub user contexte-tech

Search and load AI datasets, prompts and few-shot contexts from the ContexteTech catalogue.

Changes · 3

6 tools: 3 change things and 3 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http contexte https://contextetech.com/mcp

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "load_resource" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "read": a word for reading.

    What this check looks for
  • The server marks "fill_prompt" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "fill_prompt" says "fill": a word for a change.

    What this check looks for
  • The server marks "estimate_cost" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

6 tools

Changes things 3Claude Code: ask
  • estimate_costEstimate in euros what a ContexteTech resource costs to run with common AI models, from the week's list prices.1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "estimate_cost" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Estimate in euros what a ContexteTech resource costs to run with common AI models, from the week's list prices. Use it when the user asks about cost, budget or the cheapest model. For a prompt or context: input and output tokens, cost per call for each model and batch discount; for a dataset: cost of one pass over all rows and a fine-tuning estimate on rented GPUs (hours and offers); for a model: memory (VRAM) needed and GPU offers that fit. Returns available: false with a note when no estimate exists for that type.

    Annotations the server declares

    • title: Estimate the cost
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • fill_promptFill a ContexteTech prompt template and return the ready-to-send text, nothing else.1 finding

    Why it is in this group

    • The name "fill_prompt" says "fill": a word for a change.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "fill_prompt" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "fill_prompt" says "fill": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Fill a ContexteTech prompt template and return the ready-to-send text, nothing else. Use it when the user wants a prompt applied to their own case; call load_resource first if you need the template or the exact variable names. 'variables' maps each {{name}} of the template to its text value; extra keys are ignored. Fails with an error if the code is unknown, if the resource is not a prompt, or if a template variable is missing (the error lists the missing names).

    Annotations the server declares

    • title: Fill a prompt
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • load_resourceRead one ContexteTech resource, usually right after search_resources or when the user gives a code or page URL.1 finding

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "load_resource" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The description's first verb is "read": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Read one ContexteTech resource, usually right after search_resources or when the user gives a code or page URL. Accepts the short code (end of the page URL, e.g. 'jr6t0n'), 'author/name', or 'code#v2' for a fixed version. Always returns title, type, licence, language, source, version and page URL; plus, for a dataset, the total number of rows, the first rows (default 10, max 50); for a prompt, the template and its {{variables}} (then call fill_prompt); for a context, the system prompt, knowledge and examples. The result ends with a Source line (resource, author, original data source, publisher, licence): citing it with its links is required. Fails with an error if the code does not exist or the resource is private.

    Annotations the server declares

    • title: Load a resource
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
Only reads 3Claude Code: allow
  • fetchFetch the full content of a ContexteTech resource by the id returned by search.No findings

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.
    Description, as the server wrote it
    Fetch the full content of a ContexteTech resource by the id returned by search.

    Annotations the server declares

    • title: Fetch (connector format)
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • search_resourcesSearch the ContexteTech catalogue of AI building blocks: fine-tuning and evaluation datasets (chat, DPO, agent traces), prompts, few-shot contexts, MCP servers, models and more, ma…No findings

    Why it is in this group

    • The name "search_resources" says "search": a word for reading.
    Description, as the server wrote it
    Search the ContexteTech catalogue of AI building blocks: fine-tuning and evaluation datasets (chat, DPO, agent traces), prompts, few-shot contexts, MCP servers, models and more, many grounded in official European sources, in 9 languages. Use it first when the user needs AI training or evaluation data, a prompt, a context or an AI component, then call load_resource with a returned code. Write the topic in a few words, in English or the content language; common topics are matched across French, English, German and Spanish (e.g. 'marine weather' finds 'météo marine'), and a type word such as 'dataset' or 'prompt' puts that type first. Resources matching every topic come first; weaker matches carry match: partial. Returns up to 15 matches, each with short code, title, type, language, licence, author, rows (datasets), description and page URL; when nothing matches, returns a short message suggesting how to rephrase.

    Annotations the server declares

    • title: Search the ContexteTech catalogue
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.5.2. Values in angle brackets are yours to fill in.

claude mcp add --transport http contexte https://contextetech.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__contexte__search_resources",
      "mcp__contexte__search",
      "mcp__contexte__fetch"
    ],
    "ask": [
      "mcp__contexte__load_resource",
      "mcp__contexte__fill_prompt",
      "mcp__contexte__estimate_cost"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as contexte. Review it before you use it.