1. Conduid
  2. Developer Tools
  3. Tenrec
MCP server · Developer Tools

Tenrec

A headless, extendable, multi-session, IDA Pro MCP framework.

Unclaimed MIT last commit 6 months ago devtools
77Good

Scored 3 hours ago · breakdown

About Tenrec

Tenrec is an MCP server published by axelmierczuk in the Developer Tools category: a headless, extendable, multi-session, IDA Pro MCP framework. It has been installed 0 times through Conduid.

The repository has 148 stars and 18 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx tenrec

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Tenrec

Powered by Claude · Grounded in docs

I know everything about Tenrec. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.0.1v1.0.1
v1.0.0v1.0.0
v0.1.8v0.1.8
v0.1.7v0.1.7
v0.1.6v0.1.6

README

Tenrec

PyPI Python Version License

A headless, extendable, multi-session MCP framework for IDA Pro, built with ida-domain and FastMCP.

Features

  • Headless: No GUI required, powered by ida-domain
  • Multi-session: Analyze multiple binaries simultaneously
  • Extensible: Custom plugin support via entry points
  • Auto-docs: Generate documentation from plugins

Built-in Plugins

Plugin Description
Functions Analyze functions, boundaries, pseudocode
Xrefs Data and code cross-references
Names Symbol naming and demangling
Comments Code comments (regular, repeatable)
Strings String literal search/analysis
Segments Memory segment queries
Bytes Binary data read/patch
Types Type information and structures
Entries Entry points and exports

For complete plugin documentation, see tenrec docs.

[!NOTE] Community plugins: tenrec-plugins

Demo

Solving Flare-On 9 Challenge 4 (darn mice) with a single prompt using tenrec and Claude Code:

Use tenrec to open a session and reverse the binary. Focus on getting a high-level understanding by finding entry points and tracing execution flow. Rename variables and functions as you work. The xref plugin can help. Look for a flag in email format.

https://github.com/user-attachments/assets/3eb442dd-9b7a-44a6-836b-b73f99f4c2f3

Challenge write-up: 04-darn-mice.pdf | Binary: fareedfauzi/Flare-On-Challenges

Installation

Prerequisites

  • Python 3.10+
  • IDA Pro 9.1+

Install

uv tool install tenrec

Verify installation:

uv tool list    # Should show tenrec
which tenrec    # Should show path to executable

Set IDA Directory

# macOS
export IDADIR="/Applications/IDA Professional 9.1.app/Contents/MacOS"

# Linux
export IDADIR="/opt/idapro"

# Windows (PowerShell, as Administrator)
setx IDADIR "C:\Program Files\IDA Pro" /M

Quick Start

1. Install MCP Client

tenrec install

Select your MCP client from the list (Claude Code, Cursor, Windsurf, etc.).

2. Run Server

tenrec run

The server runs with stdio transport by default. Use --transport sse for SSE.

3. Plugin Management

# Add plugin
tenrec plugins add --plugin "package-name"
tenrec plugins add --plugin "/path/to/plugin"
tenrec plugins add --plugin "git+https://github.com/user/repo"

# List plugins
tenrec plugins list

# Remove plugin
tenrec plugins remove --dist plugin_name

4. Generate Documentation

tenrec docs -p tenrec/plugins/plugins

Documentation

Guide Description
Plugin Development Creating custom plugins
CLI Reference Complete command reference
Architecture System design
Testing Testing patterns
Integrations MCP client setup (including Codex)
Contributing Development setup and guidelines
Roadmap Future plans

Creating Plugins

from tenrec.plugins.models import PluginBase, Instructions, operation

class MyPlugin(PluginBase):
    """Plugin description."""

    name = "my_plugin"  # Must be snake_case
    version = "1.0.0"   # Must be semver

    instructions = Instructions(
        purpose="What this plugin does",
        interaction_style=["How to use effectively"],
        examples=["my_plugin_operation()"],
        anti_examples=["What NOT to do"],
    )

    @operation()
    def my_operation(self) -> dict:
        """Operation docstring for LLM guidance."""
        # Access IDA via self.database
        return {"result": "value"}

Package with entry point in pyproject.toml:

[project.entry-points."tenrec.plugins"]
my_plugin = "my_package:MyPlugin"

See Plugin Development Guide for complete documentation.

Known Issues

  • Windows support is in progress. See Issue #9.

Contributing

See Contributing Guide for development setup and guidelines.

License

MIT

README mirrored from the source repository 3 hours ago. The original is authoritative.

Questions

About Tenrec

How do I install Tenrec?

Run npx tenrec, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Tenrec safe to use with an AI agent?

Its trust score is 77 out of 100 (good). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Tenrec still maintained?

The last commit was 6 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.