MCP_TOOL_POISONING_ATTACKS
RyosukeDTomita
README
MCP_TOOL_POISONING_ATTACKS
INDEX
ABOUT
ENVIRONMENT
- node.js v22
- mcp sdk
Available Models
curl https://api.anthropic.com/v1/models \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01"
{"data":[{"type":"model","id":"claude-3-7-sonnet-20250219","display_name":"Claude 3.7 Sonnet","created_at":"2025-02-24T00:00:00Z"},{"type":"model","id":"claude-3-5-sonnet-20241022","display_name":"Claude 3.5 Sonnet (New)","created_at":"2024-10-22T00:00:00Z"},{"type":"model","id":"claude-3-5-haiku-20241022","display_name":"Claude 3.5 Haiku","created_at":"2024-10-22T00:00:00Z"},{"type":"model","id":"claude-3-5-sonnet-20240620","display_name":"Claude 3.5 Sonnet (Old)","created_at":"2024-06-20T00:00:00Z"},{"type":"model","id":"claude-3-haiku-20240307","display_name":"Claude 3 Haiku","created_at":"2024-03-07T00:00:00Z"},{"type":"model","id":"claude-3-opus-20240229","display_name":"Claude 3 Opus","created_at":"2024-02-29T00:00:00Z"}],"has_more":false,"first_id":"claude-3-7-sonnet-20250219","last_id":"claude-3-opus-20240229"}
PREPARING
For Dev Container
- install VSCode, Docker
- install VSCode Extensions Dev ContainerS
- On the VSCode,
Ctrl shift p
and runDev Containers: Rebuild Containers
- create
.env
and addANTHROPIC_API_KEY
cat << EOF > mcp_client/.env
ANTHROPIC_API_KEY=your_anthropic_api_key
EOF
- create
mcp_client/mcpservers.json
Docker
- create
.env
and addANTHROPIC_API_KEY
cat << EOF > mcp_client/.env
ANTHROPIC_API_KEY=your_anthropic_api_key
EOF
- create
mcp_client/mcpservers.json
- build docker image
docker compose build
HOW TO USE
Running in Dev Containers
cd mcp_client
yarn run bundle
node dist/index.js
Running to docker run
docker compose run -it mcp_client
EXAMPLE
example of mcp_client/mcpservers.json
{
"mcpServers": {
"github": {
"command": "/usr/local/bin/npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "github_pat_hogehoge",
"PATH": "/usr/local/bin:/usr/bin:/bin"
}
},
"git": {
"command": "uv",
"args": [
"--directory",
"/<path to mcp-servers>/mcp-servers/src/git",
"run",
"mcp-server-git"
]
}
}
}
docker compose run mcp_client
GitHub MCP Server running on stdio
Tools:
[
{
name: 'create_or_update_file',
description: 'Create or update a single file in a GitHub repository',
input_schema: {
type: 'object',
properties: [Object],
required: [Array],
additionalProperties: false,
'$schema': 'http://json-schema.org/draft-07/schema#'
}
},
{
name: 'create_issue',
description: 'Create a new issue in a GitHub repository',
input_schema: {
type: 'object',
properties: [Object],
required: [Array],
additionalProperties: false,
'$schema': 'http://json-schema.org/draft-07/schema#'
}
},
]
Enter your message: RyosukeDTomita/memoにhogeというタイトルのissueを立てて
I'll help you create an issue titled "hoge" in the RyosukeDTomita/memo repository. I'll use the `create_issue` function to do this.
[DEBUG] Attempting to create issue in RyosukeDTomita/memo
[DEBUG] Issue options: {
"title": "hoge"
}
[DEBUG] Issue created successfully
=====MCP Server Tool result=====
: {
content: [
{
type: 'text',
text: '{\n' +
' "url": "https://api.github.com/repos/RyosukeDTomita/memo/issues/89",\n' +
' "repository_url": "https://api.github.com/repos/RyosukeDTomita/memo",\n' +
' "labels_url": "https://api.github.com/repos/RyosukeDTomita/memo/issues/89/labels{/name}",\n' +
' "comments_url": "https://api.github.com/repos/RyosukeDTomita/memo/issues/89/comments",\n' +
' "events_url": "https://api.github.com/repos/RyosukeDTomita/memo/issues/89/events",\n' +
' "html_url": "https://github.com/RyosukeDTomita/memo/issues/89",\n' +
' "id": 2990421567,\n' +
' "node_id": "I_kwDOI80-fc6yPjY_",\n' +
' "number": 89,\n' +
' "title": "hoge",\n' +
' "user": {\n' +
' "login": "RyosukeDTomita",\n' +
' "id": 50137312,\n' +
' "node_id": "MDQ6VXNlcjUwMTM3MzEy",\n' +
' "avatar_url": "https://avatars.githubusercontent.com/u/50137312?v=4",\n' +
' "gravatar_id": "",\n' +
' "url": "https://api.github.com/users/RyosukeDTomita",\n' +
' "html_url": "https://github.com/RyosukeDTomita",\n' +
' "followers_url": "https://api.github.com/users/RyosukeDTomita/followers",\n' +
' "following_url": "https://api.github.com/users/RyosukeDTomita/following{/other_user}",\n' +
' "gists_url": "https://api.github.com/users/RyosukeDTomita/gists{/gist_id}",\n' +
' "starred_url": "https://api.github.com/users/RyosukeDTomita/starred{/owner}{/repo}",\n' +
' "subscriptions_url": "https://api.github.com/users/RyosukeDTomita/subscriptions",\n' +
' "organizations_url": "https://api.github.com/users/RyosukeDTomita/orgs",\n' +
' "repos_url": "https://api.github.com/users/RyosukeDTomita/repos",\n' +
' "events_url": "https://api.github.com/users/RyosukeDTomita/events{/privacy}",\n' +
' "received_events_url": "https://api.github.com/users/RyosukeDTomita/received_events",\n' +
' "type": "User",\n' +
' "user_view_type": "public",\n' +
' "site_admin": false\n' +
' },\n' +
' "labels": [],\n' +
' "state": "open",\n' +
' "locked": false,\n' +
' "assignee": null,\n' +
' "assignees": [],\n' +
' "milestone": null,\n' +
' "comments": 0,\n' +
' "created_at": "2025-04-12T11:31:41Z",\n' +
' "updated_at": "2025-04-12T11:31:41Z",\n' +
' "closed_at": null,\n' +
' "author_association": "OWNER",\n' +
' "sub_issues_summary": {\n' +
' "total": 0,\n' +
' "completed": 0,\n' +
' "percent_completed": 0\n' +
' },\n' +
' "active_lock_reason": null,\n' +
' "body": null,\n' +
' "closed_by": null,\n' +
' "reactions": {\n' +
' "url": "https://api.github.com/repos/RyosukeDTomita/memo/issues/89/reactions",\n' +
' "total_count": 0,\n' +
' "+1": 0,\n' +
' "-1": 0,\n' +
' "laugh": 0,\n' +
' "hooray": 0,\n' +
' "confused": 0,\n' +
' "heart": 0,\n' +
' "rocket": 0,\n' +
' "eyes": 0\n' +
' },\n' +
' "timeline_url": "https://api.github.com/repos/RyosukeDTomita/memo/issues/89/timeline",\n' +
' "performed_via_github_app": null,\n' +
' "state_reason": null\n' +
'}'
}
]
}
=====Response from Anthropic API after tool use=====
上記のレスポンスは、GitHub API を使用して RyosukeDTomita/memo リポジトリに "hoge" というタイトルの Issue (Issue #89) を作成した結果を示しています。
主な情報は以下の通りです:
- Issue 番号: 89
- タイトル: "hoge"
- 作成者: RyosukeDTomita
- 状態: open
- 作成日時: 2025-04-12T11:31:41Z
特に注目すべき点:
- ラベルは設定されていない
- 担当者は割り当てられていない
- コメントはまだない
- 本文(body)は null
このレスポンスは、GitHub API を通じて Issue が正常に作成されたことを示しています。
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.