Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/chisomobanzi/Serpentine3DWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/mcp/chisomobanzi/serpentine3d/graft)<a href="https://agentmods.dev/mcp/chisomobanzi/serpentine3d/graft"><img src="https://agentmods.dev/badge/mcp/chisomobanzi/serpentine3d/graft/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/mcp/chisomobanzi/serpentine3d/graft"><img src="https://agentmods.dev/badge/mcp/chisomobanzi/serpentine3d/graft.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
graft scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
{
"graft": {
"command": "graft",
"args": [
"mcp"
]
}
}What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 8 lines scan A b240b3c98e96
graft is an MCP server published in the GitHub repository chisomobanzi/Serpentine3D (32 stars, last pushed yesterday), licensed MIT. Its token cost is not measured: an MCP server costs its tool schemas, not its config file. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-07.
Other mcp servers, from other repositories
kernelcad
Agent-first CAD: editable .kcad.ts source, deterministic review, OpenCASCADE kernel. Runs locally from the kernelcad npm package.
rhino
MCP server "rhino" as configured in kbangaru-cyber/Rhino-mcp. Launched with uv --directory /ABSOLUTE/PATH/TO/Rhino_MCP run rhino-mcp. Needs 3 environment variables to run.
shapr3d
MCP server "shapr3d" as configured in Alfredoalv13/shapr3d-mcp. Runs locally from the shapr3d-mcp Python package.
modulor
Agent-native 2D drafting + 3D modeling kernel. JSON in, geometry out. Runs locally from the modulor Python package.
modulor
MCP server "modulor" as configured in bcllcc/modulor. Launched with modulor mcp.
github
Lets the agent work with GitHub: search code, read and create issues and pull requests, and manage repositories through the GitHub API. Runs locally from the @modelcontextprotocol/server-github npm package.