ipinfoLABSCO SUMMARY
Both ends visible, which is the point.
Studying tool poisoning needs the tool description and the model's reasoning side by side, and that is what this gives you: two tiny tools with no interesting behaviour of their own, and a client that prints every step. It is a lab bench, not something to install for daily use.
What it is
A small teaching setup rather than a service: an MCP client that talks to Anthropic's API, plus an ipinfo server it connects to, wired together so you can watch a model choose and call a tool. The point is to have both halves under your control while studying how tool descriptions influence what the model does.
What you get
ipinfo— return information about the machine's own IP address, no argumentsipinfo_target_ipjson— return information about a target IP supplied in the request parameters- A client that prints the tool list, the request sent to the model, the model's tool selection, the server's result and the final answer — so the whole decision chain is visible in the terminal
- A
mcpservers.jsonfile that accepts both a spawned stdio server and an SSE endpoint, so you can point the client at your own server while experimenting
Requirements
An Anthropic API key, written to mcp_client/.env as ANTHROPIC_API_KEY. Node.js v22 and the MCP TypeScript SDK; the repository ships a dev container and a Docker Compose file, and docker compose run -it mcp_client starts the client. The ipinfo server is launched over npx straight from the GitHub repository, which is why a package.json sits at the repository root. Only the first server listed in mcpservers.json is currently used.
Setup effort
Build from source — get the source, then point your client at the binary
USE CASES
Watching a model pick a tool
Ask a question about an IP address and read the printed tool list, selection and result in one terminal session.
Testing what a rewritten tool description does
Point the client at your own server, change the descriptions, and see how the model's choice shifts.
2 tools
Listed in project docs. Your client may show a different list.
ipinfo_target_ipjsonBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
node.js v22
INSTALLATION
Connect your client
Server setup
/usr/local/bin/npx -y github:RyosukeDTomita/mcp_tool_poisoning_attacks#main ipinfoMCP Clients
Bundled demo client
{
"mcpServers": {
"ipinfo": {
"command": "/usr/local/bin/npx",
"args": [
"-y",
"github:RyosukeDTomita/mcp_tool_poisoning_attacks#main",
"ipinfo"
],
"env": {
"PATH": "/usr/local/bin:/usr/bin:/bin"
}
},
"burp": {
"url": "http://localhost:9876/sse"
}
}
}