github Python re-analysis due

nirholas/UCAI

github

Universal Contract AI Interface (UCAI) 🔗 ABI to MCP | The open standard for connecting AI agents to blockchain. MCP server generator for smart contracts. Claude + Uniswap, Aave, ERC20, NFTs, DeFi. Python CLI, Web3 integration, transaction simulation. Polygon, Arbitrum, Base, Ethereum EVM chains. Claude, GPT, LLM tooling, Solidity, OpenAI.

maintainer
nirholas
licence
NOASSERTION
first seen
2026-06-01
last seen
2026-09-15
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 0 tools
transport stdio · http verified reported listed in the official MCP registry counts 0 tools · 0 res · 0 prompts permission surface via code analysis

No tools enumerated yet for this server.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 2275a81 · analyzer v33 · 3d ago

skills & prompt files 4

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 230

filesystem 31

  • fs (weak) nirholas-UCAI-2275a81/scripts/fetch_abis.py :10 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/__init__.py :129 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/cli/commands/generate.py :4 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/cli/commands/serve.py :5 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/cli/commands/validate.py :4 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/cli/main.py :8 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/core/config.py :5 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/fetchers/file.py :9 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/generator/server_generator.py :7 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/generator/templates/__init__.py :7 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/utils/logging.py :6 from pathlib import Path
  • fs nirholas-UCAI-2275a81/src/abi_to_mcp/utils/validation.py :6 from pathlib import Path
show 19 more
  • fs (weak) nirholas-UCAI-2275a81/tests/conftest.py :8 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/integration/server_validator.py :18 import shutil
  • fs (weak) nirholas-UCAI-2275a81/tests/integration/test_cli.py :4 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/integration/test_end_to_end.py :12 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/integration/test_generated_server.py :4 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/integration/test_server_validation.py :16 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_cli/test_generate_command.py :4 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_cli/test_inspect_command.py :4 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_cli/test_serve_command.py :4 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_cli/test_validate_command.py :4 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_core/test_config.py :6 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_fetchers/test_file.py :6 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_fetchers/test_registry.py :72 with open(abi_file, 'w') as f:
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_generate_from_abi.py :5 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_generator/test_server_generator.py :5 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_parser/test_abi_parser.py :5 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_parser/test_real_world_abis.py :9 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_utils/test_logging.py :5 from pathlib import Path
  • fs (weak) nirholas-UCAI-2275a81/tests/unit/test_utils/test_validation.py :4 from pathlib import Path

shell / exec 3

  • shell nirholas-UCAI-2275a81/src/abi_to_mcp/cli/commands/serve.py :3 import subprocess
  • shell (weak) nirholas-UCAI-2275a81/tests/integration/server_validator.py :16 import subprocess
  • shell (weak) nirholas-UCAI-2275a81/tests/integration/test_end_to_end.py :9 import subprocess

network 5

  • net (weak) nirholas-UCAI-2275a81/scripts/fetch_abis.py :12 # Try to import httpx, provide helpful error if not installed
  • net nirholas-UCAI-2275a81/src/abi_to_mcp/fetchers/etherscan.py :12 import httpx
  • net nirholas-UCAI-2275a81/src/abi_to_mcp/fetchers/sourcify.py :11 import httpx
  • net (weak) nirholas-UCAI-2275a81/tests/unit/test_fetchers/test_etherscan.py :57 import httpx
  • net (weak) nirholas-UCAI-2275a81/tests/unit/test_fetchers/test_sourcify.py :55 import httpx

secrets 2

  • secrets nirholas-UCAI-2275a81/src/abi_to_mcp/core/config.py :126 self.private_key = os.environ.get("PRIVATE_KEY")
  • secrets nirholas-UCAI-2275a81/src/abi_to_mcp/runtime/signer.py :30 private_key = os.environ.get("PRIVATE_KEY")

declared dependencies 16

  • typer@>=0.9.0
  • rich@>=13.0.0
  • httpx@>=0.25.0
  • pydantic@>=2.0.0
  • jinja2@>=3.1.0
  • web3@>=6.0.0
  • python-dotenv@>=1.0.0
  • pytest@>=7.0.0
  • pytest-asyncio@>=0.21.0
  • pytest-cov@>=4.0.0
  • ruff@>=0.1.0
  • mypy@>=1.0.0
show 4 more
  • pre-commit@>=3.0.0
  • mkdocs@>=1.5.0
  • mkdocs-material@>=9.0.0
  • mkdocstrings@>=0.24.0