Kanibal Tools

io.github.kanibal-studioPublished by GitHub account kanibal-studiov0.1.1Updated Oct 28, 2026

Local read-only tools: French telemarketing consent, GDPR offshore checklist, cost per kept meeting

Overview

AI-generated overview

Local, read-only MCP server with four checklist-style tools: French telemarketing consent validity, GDPR offshore gaps, lead-source cost per kept meeting, and…

What you can do
  • Check whether a French telephone-canvassing consent is still valid under décret 2026-662, with expiry and proof-retention dates
  • Rank B2B lead sources from CSV text by cost per kept and qualified meeting, with show rate, cost per deal and margin
  • Produce a GDPR gap report for customer service outsourced outside the EU/EEA, covering transfer basis, impact assessment, processor clauses, security and breach notification
  • Pick the lowest declared cost rank among models in a supplied catalogue that have every required capability and are available and authorised
When to use it
Useful when you want an assistant to run quick, deterministic compliance and commercial checks on data you paste in: consent dates, lead-source CSVs, outsourcing arrangements, or a model catalogue. Good for first-pass screening before involving a lawyer or analyst.
Requirements
Runs locally over stdio as a Python package (kanibal-tools-mcp), launched with uvx or installed via pip; needs Python 3.10 or newer. No accounts, API keys, environment variables or network access are declared.
Before you install
The consent and GDPR tools are checklists, not legal advice; a report without a blocking gap does not prove compliance. The consent tool applies French rules only. A low cost per kept meeting does not prove profitability, and model selection uses only the catalogue facts you supply, without switching models or guaranteeing savings.

Installation

In SourceWeft

  1. Open Kanibal Tools in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

kanibal-tools-mcp

[PyPI] [Python] [CI] [MIT]

An MCP server that gives AI assistants four local, read-only tools from Kanibal Studio (ALTA VISTA360, S.L.U.):

ToolWhat it does
check_telemarketing_consentFrance only: tells whether a consent to telephone canvassing is still valid under décret 2026-662. Fail-closed.
rank_lead_sources_by_kept_meetingRanks B2B lead sources, from CSV text, on cost per kept qualified meeting instead of cost per lead.
gdpr_offshore_gap_reportGDPR gap report for customer service outsourced outside the EU/EEA. Not legal advice.
select_least_cost_capable_modelPicks the lowest declared cost rank among the capable, available and authorised models of a supplied catalogue.

Each tool computes from its arguments only: no network call, no file access, no state kept between calls. All four are marked read-only and closed-world for MCP clients. They wrap the published packages demarchage-consent, cost-per-kept-meeting, rgpd-offshore-check and least-cost-capable.

Use with Claude Code

sh
claude mcp add kanibal-tools -- uvx kanibal-tools-mcp

Use with Claude Desktop, Cursor or another MCP client

Add this server to the client's MCP configuration:

json
{  "mcpServers": {    "kanibal-tools": {      "command": "uvx",      "args": ["kanibal-tools-mcp"]    }  }}

Without uv, install it with pip install kanibal-tools-mcp and use kanibal-tools-mcp as the command. The server speaks MCP over stdio and needs Python 3.10 or newer.

Example requests

  • "Is a telemarketing consent collected on 2025-11-02 still valid today?"
  • "Here is my CSV of lead sources for October: rank them by cost per kept meeting."
  • "Prepare a GDPR gap report for our customer service in Tunisia: we have SCCs but no transfer impact assessment."
  • "From this model catalogue, which is the cheapest one that can do Python and debugging?"

Limits

  • The consent tool applies French rules only (décret 2026-662). It is a check, not legal advice.
  • The GDPR report is a checklist: a report without blocking gap is not a finding of compliance.
  • A low cost per kept meeting does not prove profitability.
  • The model selection uses only the facts in the catalogue you supply; it does not switch models, call providers or guarantee savings.

Development

sh
pip install -e ".[dev]"pytest

The tests call every tool through an in-memory MCP client session.

Project context and license

Prepared by Kanibal Studio, associated with ALTA VISTA360, S.L.U. Our public sites are Altavista360, Altavista Conseil and K-Pulse.

Licensed under the MIT License.

Source: README.md at commit 90827e4

Tools

4

rank_lead_sources_by_kept_meeting

Rank B2B lead sources on cost per kept qualified meeting instead of cost per lead. Returns, per source and period, total cost, cost per lead, show rate, cost per kept meeting, cost per qualified kept meeting, and cost per deal and margin minus cost when provided. Invalid rows are reported as a tool error naming each row. Use it to compare acquisition channels; it does not check consent or GDPR. A low cost per meeting does not prove profitability.

Parameterscsv_textrequiredmin_meetings

gdpr_offshore_gap_report

GDPR gap report for customer-service processing outsourced outside the EU/EEA. Checks the transfer basis (adequacy or Art. 46 safeguards), the transfer impact assessment, the Art. 28 processor contract and its twelve clauses, Art. 32 security controls and breach notification. Only a JSON true satisfies a check; anything else is a gap or "to_verify". Use it for transfers outside the EU; for French telemarketing consent use check_telemarketing_consent. Not legal advice and not a certification: a report without blocking gap is not a finding of compliance.

Parameterslanganswersrequired

select_least_cost_capable_model

Pick, from a supplied catalogue, the model with the lowest declared cost rank among those that have every required capability and are available and authorised. Returns status "selected" with the comparison basis, "needs_information" naming the missing or non-comparable evidence, or "no_candidate_in_catalogue", plus exclusions. Use it to choose between AI models from facts you supply; it is unrelated to lead sources. Nothing is called, switched or launched; savings are not guaranteed.

Parameterscataloguerequired

Version history

2
  1. v0.1.1LatestOct 25, 2026
  2. v0.1.0Oct 25, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts