Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

OTInstaller

MCPB · OT_0.16.1_LINUX_AMD64.MCPB · 6 COMPONENTS

Install and run open-source OSINT tools in a local sandbox, asking before runs that touch a target.

+3 this week 48 Trust /100

Last scanned (18 hours ago)

Scores higher than 78% of MCPB servers

Category Security

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency45
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 2956 tokens (~92/item across 32 items; 25 tools + 7 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management47
  • Stability observed for 14 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 95% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 +1
    • Package version: 0.15.0 → 0.16.1 functional
    • Package version: 0.15.0 → 0.16.0 functional
  • 23 Oct 26 0
    • Package version: 0.13.1 → 0.15.0 functional
    • Package version: 0.13.1 → 0.14.0 functional
  • 22 Oct 26 +1
    • Tool safety: pass → unverified ▼ security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • Schema quality: 100 → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • Stability: unverified → 0.03 ▲ functional
    • Package version: 0.13.0 → 0.13.1 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed mcpb/https://github.com/OTInstaller/ot/releases/download/v0.16.1/ot_0.16.1_linux_amd64.mcpb@0.16.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 25 exposed · ~2,576 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
cancel_run ~48

Stop a run or batch this session started. Partial output is kept. A run that already ended is left alone and its status returned.

NameTypeReqDescription
idstringyesa run_id or batch_id
NameTypeReqDescription
already_finishedboolean––
idstringyes–
statusstringyes–

No examples provided.

detect_type ~57

What kind of target a string is, as ot auto would guess: url, ip, email, phone, domain, else username.

NameTypeReqDescription
targetstringyesa username, domain, email address, phone number, IP address or URL
NameTypeReqDescription
input_typestringyes–
prefixstringyesthe ot run shorthand, such as d: for a domain

No examples provided.

diff_runs ~66

What changed between the two most recent saved runs of a tool against a target: entities and output lines added and removed.

NameTypeReqDescription
casestring––
targetstringyesthe target both runs were against
toolstringyesthe tool, namespace/name or name
NameTypeReqDescription
addednull|arrayyes–
added_entitiesnull|arrayyes–
newer_datestringyes–
newer_filestringyes–
older_datestringyes–
older_filestringyes–
removednull|arrayyes–
removed_entitiesnull|arrayyes–

No examples provided.

doctor ~26

Whether Docker (or Podman), cosign, the keychain and the registry are available.

Input schema present but exposes no named parameters.

NameTypeReqDescription
checksnull|arrayyes–
okbooleanyes–

No examples provided.

extract_indicators ~58

Emails, domains, IP addresses, URLs and entities found across a tool's saved runs, or a case's.

NameTypeReqDescription
casestring–scan the runs in this case
toolstring–scan this tool's saved runs
NameTypeReqDescription
domainsnull|arrayyes–
emailsnull|arrayyes–
entitiesobjectyes–
ipsnull|arrayyes–
urlsnull|arrayyes–

No examples provided.

get_batch ~67

The rows of a run_all or run_playbook batch: each tool's status, entity count, first entities and run_id. While it runs, finished rows are filled in and the rest are pending.

NameTypeReqDescription
batch_idstringyesthe batch_id from run_all or run_playbook
NameTypeReqDescription
batch_idstringyes–
casestring––
notestringyes–
rowsnull|arrayyes–
statusstringyesrunning, complete (every run completed), failed, interrupted or planned (dry_run)
summaryobjectyes–

No examples provided.

get_consent_status ~202

What would happen if run_tool were called with these arguments: allowed without asking, the person asked, or refused (and why). Asks nobody and runs nothing.

NameTypeReqDescription
casestring–save the run under this case, to group an investigation's runs
consent_tokenstring–only after the person said yes to the summary of a consent_required error for this exact call
input_typestring–the type of target (email, username, domain, ...); guessed when left out
inputsobject–input values by input name; get_tool lists the inputs
targetstring–instead of inputs: one target, filled into the tool's input of input_type
toolstringyesthe installed package, namespace/name
wait_secondsinteger–how long to wait for the result before returning a run_id to poll with get_run (default 60, at most 300)
NameTypeReqDescription
classstring––
effectsnull|array––
reasonstringyes–
verdictstringyesallow: runs without asking; ask: the person will be asked; refuse: it won't run

No examples provided.

get_playbook ~39

One playbook: the input types it is for, its tools and which are installed.

NameTypeReqDescription
namestringyesthe playbook's name
NameTypeReqDescription
casestringyes–
descriptionstringyes–
inputsnull|arrayyesthe input types it is meant for, the main one first; empty when the playbook doesn't say
namestringyes–
sourcestringyes–
toolsnull|arrayyes–

No examples provided.

get_run ~146

A run's result: its status and provenance, the entities it found (paged), a deduplicated summary of the indicators, or its raw output. Also reports runs still going.

NameTypeReqDescription
include_rawboolean–also return the tool's raw output, cut to fit
limitinteger–entities per page, 1 to 200 (default 50)
offsetinteger––
run_idstringyesthe run, from run_tool, list_runs or a batch
viewstring–entities (default): the entities, paged; summary: emails, domains, IPs, URLs and entity values found, deduplicated
NameTypeReqDescription
artifactnull|object––
entitiesnull|array––
entities_totalintegeryes–
notestringyes–
offsetintegeryes–
output_sha256string––
rawstring––
raw_cutboolean––
runobjectyes–
summarynull|object––
warningsnull|array––

No examples provided.

get_tool ~75

Everything needed to run a tool: its inputs (names, types, defaults), what it finds, the API keys it needs and whether they are set, its ethics flags and network access, and whether a run will need the person's consent. Works for installed and registry tools.

NameTypeReqDescription
toolstringyesthe package as namespace/name
NameTypeReqDescription
consent_classstringyespassive runs need no consent; networked, target and personal runs ask the person
deprecatedstring––
effectsnull|arrayyeswhat a run does, in plain words
ethicsnull|object––
homepagestring––
inputsnull|arrayyes–
installednull|object––
licensestring––
networknull|object––
outputsnull|arrayyes–
outputs_detailnull|array–what the tool's entities carry: descriptions and attributes, when the publisher gives them
refstringyes–
registrynull|object–the registry's listing: signed, verified publisher, health, installs
run_tool_exampleobject––
secretsnull|arrayyes–
summarystringyes–
test_inputobject––
timeout_secondsintegeryes–
typical_secondsinteger–how long a run usually takes
unavailablestring––
versionstringyes–

No examples provided.

install_tool ~151

Install a published tool: pull its Docker image by digest and verify its cosign signature, or fetch its Python wheel by SHA-256 and build it into a sandbox image. Agents can't install yanked, failed, broken or local packages, or a Docker image whose signature can't be verified. On an installed tool it updates to the latest version (or the one named), saying so when it asks, but never moves a version the person held. Asks the person first unless the policy allows installs.

NameTypeReqDescription
consent_tokenstring–only after the person said yes to the summary of a consent_required error for this exact call
toolstringyesthe package, namespace/name or namespace/name@version
NameTypeReqDescription
artifactstringyes–
from_backupbooleanyes–
heldbooleanyes–
installed_atstringyes–
nativebooleanyes–
previousstring–the version an update replaced
refstringyes–
runtimestringyes–
signerstring––
statusstringyesinstalled, updated or already_installed
versionstringyes–

No examples provided.

key_setup ~96

The API keys the named tools (or all installed tools) declare: what each is, where to get it, what it costs, whether it is set, and the command the person runs in their own terminal to store it. You can't store keys: show the person the command, and never ask them for a key's value.

NameTypeReqDescription
toolsnull|array–the tools, as namespace/name; all installed tools when empty
NameTypeReqDescription
commandstringyeswhat the person runs in their own terminal to set the keys up
keysnull|arrayyes–
missingnull|array–keys that are not set yet
notestringyes–

No examples provided.

list_installed ~54

The tools installed on this machine, with their versions, the exact image digest or wheel hash, whether the person held a version, and the registry's latest version (checked at most daily) with whether an update is available.

Input schema present but exposes no named parameters.

NameTypeReqDescription
installednull|arrayyes–
latest_checked_atnull|string––

No examples provided.

list_playbooks ~40

Named sets of tools run together against one target, bundled or the person's own: the input types each is for, and which of their tools are installed.

Input schema present but exposes no named parameters.

NameTypeReqDescription
playbooksnull|arrayyes–

No examples provided.

list_runs ~88

Saved runs, newest first, optionally of one tool, against one target, or in one case.

NameTypeReqDescription
casestring–only runs saved under this case
limitinteger–newest first, at most this many (default 20)
targetstring–only runs against this target
toolstring–only runs of this tool (namespace/name or name)
NameTypeReqDescription
runsnull|arrayyes–

No examples provided.

list_types ~38

The input types tools take, the entity types they find and what each means, and the pivot map: which input types each entity type can feed.

Input schema present but exposes no named parameters.

NameTypeReqDescription
descriptionsobjectyes–
entity_typesnull|arrayyes–
input_typesnull|arrayyes–
pivotsobjectyeswhich input types each entity type can feed (spec/pivots.json)

No examples provided.

read_guide ~65

One page of a guide, as Markdown, with the list of its pages and the tools it uses.

NameTypeReqDescription
guidestringyesthe guide, namespace/name or namespace/name@version
pagestring–the page path from pages; the first page by default
NameTypeReqDescription
body_markdownstringyes–
nextstring––
pagesnull|arrayyes–
pathstringyes–
refstringyes–
related_toolsnull|array––
titlestringyes–
versionstringyes–

No examples provided.

run_all ~236

Run every installed tool that takes the target (or the ones named), a few at a time, with one consent question for the whole set. Use dry_run first to see what would run. Returns a batch_id for get_batch if it takes longer than wait_seconds.

NameTypeReqDescription
casestring–save the runs under this case
consent_tokenstring–only after the person said yes to the summary of a consent_required error for this exact call
dry_runboolean–list what would run, and what would need consent, without running anything
input_typestring–username, domain, email, phone, ip or url; guessed when left out
parallelinteger–how many run at once (default and maximum: max_parallel in the policy)
targetstringyesthe target every tool runs against
toolsnull|array–only these installed tools (default: every installed tool that takes the target)
wait_secondsinteger–how long to wait before returning a batch_id to poll with get_batch (default 60, at most 300)
NameTypeReqDescription
batch_idstringyes–
casestring––
notestringyes–
rowsnull|arrayyes–
statusstringyesrunning, complete (every run completed), failed, interrupted or planned (dry_run)
summaryobjectyes–

No examples provided.

run_playbook ~224

Run a playbook (a named set of tools) against a target, like run_all limited to its tools. Its tools must be installed; install_tool installs them, and dry_run lists which are missing.

NameTypeReqDescription
casestring–default: the playbook's own case
consent_tokenstring–only after the person said yes to the summary of a consent_required error for this exact call
dry_runboolean–list what would run, what would need consent and what is not installed, without running anything
input_typestring–username, domain, email, phone, ip or url; guessed when left out
namestringyesthe playbook; list_playbooks lists them
parallelinteger–how many run at once (default and maximum: max_parallel in the policy)
targetstringyesthe target its tools run against
wait_secondsinteger–how long to wait before returning a batch_id to poll with get_batch (default 60, at most 300)
NameTypeReqDescription
batch_idstringyes–
casestring––
notestringyes–
rowsnull|arrayyes–
statusstringyesrunning, complete (every run completed), failed, interrupted or planned (dry_run)
summaryobjectyes–

No examples provided.

run_tool ~250

Run an installed tool in its sandbox and save the result. Give inputs by name, or one target with its type. Passive tools run straight away; tools that touch a target, go online, use the person's keys or involve a person ask the person first (or return consent_required with a token to use only after they say yes). Waits up to wait_seconds, then returns a run_id for get_run.

NameTypeReqDescription
casestring–save the run under this case, to group an investigation's runs
consent_tokenstring–only after the person said yes to the summary of a consent_required error for this exact call
input_typestring–the type of target (email, username, domain, ...); guessed when left out
inputsobject–input values by input name; get_tool lists the inputs
targetstring–instead of inputs: one target, filled into the tool's input of input_type
toolstringyesthe installed package, namespace/name
wait_secondsinteger–how long to wait for the result before returning a run_id to poll with get_run (default 60, at most 300)
NameTypeReqDescription
artifactnull|object––
consentstring–how the run was allowed: policy, elicitation, session, token or sandbox
duration_msinteger––
entitiesnull|arrayyes–
entities_totalintegeryes–
errorstring––
exit_codenull|integer––
notestringyes–
outputnull|object––
rawstring–the tool's output, cut to fit, when it gave no entities
raw_cutboolean––
run_idstringyes–
sandboxboolean–true when sandbox mode ran the tool on its own test input instead of the target given
statusstringyesrunning, complete, failed (the tool exited non-zero), timeout, interrupted or error
toolstringyes–
truncatedboolean–only some entities fit; read the rest with get_run
warningsnull|array––

No examples provided.

search_guides ~71

Search the registry's investigation guides (methods, checklists, references), by words, target type or level.

NameTypeReqDescription
input_typestring–guides about this kind of target
levelstring–beginner, intermediate or advanced
limitinteger––
querystring––
NameTypeReqDescription
next_cursorstring––
resultsnull|arrayyes–
totalinteger––

No examples provided.

search_tools ~226

Search the OTInstaller Registry for OSINT tools. Results list each tool's input and output types, whether it needs API keys, its ethics flags and network access, and its trust status (signed, verified publisher, health).

NameTypeReqDescription
categorystring–only this category, such as domain-dns or social-media
cursorstring–next_cursor from the previous page
input_typestring–only tools that take this input type (email, username, domain, ip, url, phone, ...); list_types lists them
limitinteger–results per page, 1 to 100 (default 20)
no_keysboolean–only tools that need no API key
output_typestring–only tools that find this entity type
passive_onlyboolean–only tools that run offline, touch no target and collect no personal data: the ones that run without asking
querystring–words to search for in names, summaries and tags
runtimestring–docker or pipx
NameTypeReqDescription
next_cursorstring––
resultsnull|arrayyes–
totalinteger––

No examples provided.

suggest_pivots ~129

Given a saved run (or entities), list what to look at next: each entity worth pivoting on, the input type it fits, and the installed tools (and optionally registry tools) that take it. Runs nothing.

NameTypeReqDescription
entitiesnull|array–or give entities directly, as {type, value, attrs}
limitinteger–at most this many pivots (default 25)
registryboolean–also suggest tools that are not installed, from the registry (slower)
run_idstring–take the entities from this saved run
NameTypeReqDescription
notestringyes–
pivotsnull|arrayyes–

No examples provided.

uninstall_tool ~57

Remove an installed tool. Always asks the person.

NameTypeReqDescription
consent_tokenstring–only after the person said yes to the summary of a consent_required error for this exact call
toolstringyesthe installed package, namespace/name
NameTypeReqDescription
already_finishedboolean––
idstringyes–
statusstringyes–

No examples provided.

validate_manifest ~67

Check an otinstaller.yaml as the registry will, with the same error codes. For publishers packaging a tool or guide. Give an absolute path: the server's folder is wherever the client started it.

NameTypeReqDescription
pathstring–the otinstaller.yaml to check (default ./otinstaller.yaml)
NameTypeReqDescription
problemsnull|arrayyes–
validbooleanyes–

No examples provided.

Install

How do I install the OTInstaller MCP server?

OTInstaller ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, a1780763ad49f65213b01f0fe0608cd4f7cddfda1360f504d416de31972e56f4; the commands to do that are on this page. If it does not match, do not open it.

mcpb · ot_0.16.1_linux_amd64.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

a1780763ad49f65213b01f0fe0608cd4f7cddfda1360f504d416de31972e56f4

macOS / Linux

echo "a1780763ad49f65213b01f0fe0608cd4f7cddfda1360f504d416de31972e56f4  ot_0.16.1_linux_amd64.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\ot_0.16.1_linux_amd64.mcpb).Hash -eq "a1780763ad49f65213b01f0fe0608cd4f7cddfda1360f504d416de31972e56f4"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the OTInstaller MCP server?

OTInstaller is an MCP server listed in the public MCP registry as com.otinstaller/ot. Install and run open-source OSINT tools in a local sandbox, asking before runs that touch a target. This page covers its MCPB bundle (https://github.com/OTInstaller/ot/releases/download/v0.16.1/ot_0.16.1_linux_amd64.mcpb).

Is the OTInstaller MCP server safe to use?

OTInstaller scores 48 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the OTInstaller MCP server expose?

OTInstaller exposes 25 tools: cancel_run, detect_type, diff_runs, doctor, extract_indicators, and 20 more. Their descriptions and schemas cost roughly 2,576 tokens of context every time the server is loaded.

What licence is the OTInstaller MCP server under?

OTInstaller declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.