经 AI Skill Hub 精选评估,MCP智能代理工具集 获评「强烈推荐」。已获得 1.1k 颗 GitHub Star,这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.2 分,适合有一定技术背景的用户使用。
基于Anthropic MCP协议的开源工具集,为AI代理提供强大的能力扩展。支持多种集成和插件机制,帮助开发者快速构建具有工具调用能力的智能代理系统。适合AI应用开发者和代理框架使用者。
MCP智能代理工具集 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
基于Anthropic MCP协议的开源工具集,为AI代理提供强大的能力扩展。支持多种集成和插件机制,帮助开发者快速构建具有工具调用能力的智能代理系统。适合AI应用开发者和代理框架使用者。
MCP智能代理工具集 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/strands-agents/tools
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"mcp-------": {
"command": "npx",
"args": ["-y", "tools"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 MCP智能代理工具集 执行以下任务... Claude: [自动调用 MCP智能代理工具集 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"mcp_______": {
"command": "npx",
"args": ["-y", "tools"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
<p> <a href="https://strandsagents.com/">Documentation</a> ◆ <a href="https://github.com/strands-agents/samples">Samples</a> ◆ <a href="https://github.com/strands-agents/sdk-python">Python SDK</a> ◆ <a href="https://github.com/strands-agents/tools">Tools</a> ◆ <a href="https://github.com/strands-agents/agent-builder">Agent Builder</a> ◆ <a href="https://github.com/strands-agents/mcp-server">MCP Server</a> </p> </div>
Strands Agents Tools is a community-driven project that provides a powerful set of tools for your agents to use. It bridges the gap between large language models and practical applications by offering ready-to-use tools for file operations, system execution, API interactions, mathematical operations, and more.
Below is a comprehensive table of all available tools, how to use them with an agent, and typical use cases:
| Tool | Agent Usage | Use Case |
|---|---|---|
| a2a_client | provider = A2AClientToolProvider(known_agent_urls=["http://localhost:9000"]); agent = Agent(tools=provider.tools) | Discover and communicate with A2A-compliant agents, send messages between agents |
| file_read | agent.tool.file_read(path="path/to/file.txt") | Reading configuration files, parsing code files, loading datasets |
| file_write | agent.tool.file_write(path="path/to/file.txt", content="file content") | Writing results to files, creating new files, saving output data |
| editor | agent.tool.editor(command="view", path="path/to/file.py") | Advanced file operations like syntax highlighting, pattern replacement, and multi-file edits |
| shell* | agent.tool.shell(command="ls -la") | Executing shell commands, interacting with the operating system, running scripts |
| http_request | agent.tool.http_request(method="GET", url="https://api.example.com/data") | Making API calls, fetching web data, sending data to external services |
| tavily_search | agent.tool.tavily_search(query="What is artificial intelligence?", search_depth="advanced") | Real-time web search optimized for AI agents with a variety of custom parameters |
| tavily_extract | agent.tool.tavily_extract(urls=["www.tavily.com"], extract_depth="advanced") | Extract clean, structured content from web pages with advanced processing and noise removal |
| tavily_crawl | agent.tool.tavily_crawl(url="www.tavily.com", max_depth=2, instructions="Find API docs") | Crawl websites intelligently starting from a base URL with filtering and extraction |
| tavily_map | agent.tool.tavily_map(url="www.tavily.com", max_depth=2, instructions="Find all pages") | Map website structure and discover URLs starting from a base URL without content extraction |
| exa_search | agent.tool.exa_search(query="Best project management tools", text=True) | Intelligent web search with auto mode (default) for optimal results, plus fast and deep search modes |
| exa_get_contents | agent.tool.exa_get_contents(urls=["https://example.com/article"], text=True, summary={"query": "key points"}) | Extract full content and summaries from specific URLs with live crawling fallback |
| python_repl* | agent.tool.python_repl(code="import pandas as pd\ndf = pd.read_csv('data.csv')\nprint(df.head())") | Running Python code snippets, data analysis, executing complex logic with user confirmation for security |
| calculator | agent.tool.calculator(expression="2 * sin(pi/4) + log(e**2)") | Performing mathematical operations, symbolic math, equation solving |
| code_interpreter | code_interpreter = AgentCoreCodeInterpreter(region="us-west-2"); agent = Agent(tools=[code_interpreter.code_interpreter]) | Execute code in isolated sandbox environments with multi-language support (Python, JavaScript, TypeScript), persistent sessions, and file operations |
| use_aws | agent.tool.use_aws(service_name="s3", operation_name="list_buckets", parameters={}, region="us-west-2") | Interacting with AWS services, cloud resource management |
| retrieve | agent.tool.retrieve(text="What is STRANDS?") | Retrieving information from Amazon Bedrock Knowledge Bases with optional metadata |
| nova_reels | agent.tool.nova_reels(action="create", text="A cinematic shot of mountains", s3_bucket="my-bucket") | Create high-quality videos using Amazon Bedrock Nova Reel with configurable parameters via environment variables |
| agent_core_memory | agent.tool.agent_core_memory(action="record", content="Hello, I like vegetarian food") | Store and retrieve memories with Amazon Bedrock Agent Core Memory service |
| mem0_memory | agent.tool.mem0_memory(action="store", content="Remember I like to play tennis", user_id="alex") | Store user and agent memories across agent runs to provide personalized experience |
| bright_data | agent.tool.bright_data(action="scrape_as_markdown", url="https://example.com") | Web scraping, search queries, screenshot capture, and structured data extraction from websites and different data feeds |
| memory | agent.tool.memory(action="retrieve", query="product features") | Store, retrieve, list, and manage documents in Amazon Bedrock Knowledge Bases with configurable parameters via environment variables |
| environment | agent.tool.environment(action="list", prefix="AWS_") | Managing environment variables, configuration management |
| generate_image_stability | agent.tool.generate_image_stability(prompt="A tranquil pool") | Creating images using Stability AI models |
| generate_image | agent.tool.generate_image(prompt="A sunset over mountains") | Creating AI-generated images for various applications |
| image_reader | agent.tool.image_reader(image_path="path/to/image.jpg") | Processing and reading image files for AI analysis |
| journal | agent.tool.journal(action="write", content="Today's progress notes") | Creating structured logs, maintaining documentation |
| think | agent.tool.think(thought="Complex problem to analyze", cycle_count=3) | Advanced reasoning, multi-step thinking processes |
| load_tool | agent.tool.load_tool(path="path/to/custom_tool.py", name="custom_tool") | Dynamically loading custom tools and extensions |
| swarm | agent.tool.swarm(task="Analyze this problem", swarm_size=3, coordination_pattern="collaborative") | Coordinating multiple AI agents to solve complex problems through collective intelligence |
| current_time | agent.tool.current_time(timezone="US/Pacific") | Get the current time in ISO 8601 format for a specified timezone |
| sleep | agent.tool.sleep(seconds=5) | Pause execution for the specified number of seconds, interruptible with SIGINT (Ctrl+C) |
| agent_graph | agent.tool.agent_graph(agents=["agent1", "agent2"], connections=[{"from": "agent1", "to": "agent2"}]) | Create and visualize agent relationship graphs for complex multi-agent systems |
| graph | agent.tool.graph(action="create", graph_id="pipeline", topology={"nodes": [...], "edges": [...]}) | Create and manage deterministic DAG-based multi-agent graphs using Strands SDK Graph implementation with per-node model configuration |
| cron* | agent.tool.cron(action="schedule", name="task", schedule="0 * * * *", command="backup.sh") | Schedule and manage recurring tasks with cron job syntax <br> **Does not work on Windows |
| slack | agent.tool.slack(action="post_message", channel="general", text="Hello team!") | Interact with Slack workspace for messaging and monitoring |
| speak | agent.tool.speak(text="Operation completed successfully", style="green", mode="polly") | Output status messages with rich formatting and optional text-to-speech |
| stop | agent.tool.stop(message="Process terminated by user request") | Gracefully terminate agent execution with custom message |
| handoff_to_user | agent.tool.handoff_to_user(message="Please confirm action", breakout_of_loop=False) | Hand off control to user for confirmation, input, or complete task handoff |
| use_llm | agent.tool.use_llm(prompt="Analyze this data", system_prompt="You are a data analyst") | Create nested AI loops with customized system prompts for specialized tasks |
| use_agent | agent.tool.use_agent(prompt="Analyze this code", system_prompt="You are a code analyst.", model_provider="bedrock") | Create nested agent instances with model switching, multi-model workflows, cost optimization, and specialized sub-tasks |
| workflow | agent.tool.workflow(action="create", name="data_pipeline", steps=[{"tool": "file_read"}, {"tool": "python_repl"}]) | Define, execute, and manage multi-step automated workflows |
| mcp_client | agent.tool.mcp_client(action="connect", connection_id="my_server", transport="stdio", command="python", args=["server.py"]) | ⚠️ **SECURITY WARNING**: Dynamically connect to external MCP servers via stdio, sse, or streamable_http, list tools, and call remote tools. This can pose security risks as agents may connect to malicious servers. Use with caution in production. |
| batch | agent.tool.batch(invocations=[{"name": "current_time", "arguments": {"timezone": "Europe/London"}}, {"name": "stop", "arguments": {}}]) | Call multiple other tools in parallel. |
| browser | browser = LocalChromiumBrowser(); agent = Agent(tools=[browser.browser]) | Web scraping, automated testing, form filling, web automation tasks |
| diagram | agent.tool.diagram(diagram_type="cloud", nodes=[{"id": "s3", "type": "S3"}], edges=[]) | Create AWS cloud architecture diagrams, network diagrams, graphs, and UML diagrams (all 14 types) |
| rss | agent.tool.rss(action="subscribe", url="https://example.com/feed.xml", feed_id="tech_news") | Manage RSS feeds: subscribe, fetch, read, search, and update content from various sources |
| use_computer | agent.tool.use_computer(action="click", x=100, y=200, app_name="Chrome") | Desktop automation, GUI interaction, screen capture |
| search_video | agent.tool.search_video(query="people discussing AI") | Semantic video search using TwelveLabs' Marengo model |
| chat_video | agent.tool.chat_video(prompt="What are the main topics?", video_id="video_123") | Interactive video analysis using TwelveLabs' Pegasus model |
| mongodb_memory | agent.tool.mongodb_memory(action="record", content="User prefers vegetarian pizza", connection_string="mongodb+srv://...", database_name="memories") | Store and retrieve memories using MongoDB Atlas with semantic search via AWS Bedrock Titan embeddings |
| elasticsearch_memory | agent.tool.elasticsearch_memory(action="record", content="User prefers dark mode", cloud_id="...", api_key="...") | Store and retrieve memories using Elasticsearch with semantic search via AWS Bedrock Titan embeddings |
\* These tools do not work on windows
result = agent.tool.chat_video( prompt="Describe what happens in this video", video_path="/path/to/video.mp4", index_id="your-index-id" # or set TWELVELABS_PEGASUS_INDEX_ID env var ) ```
pip install strands-agents-tools
To install the dependencies for optional tools:
pip install strands-agents-tools[mem0_memory, use_browser, rss, use_computer]
```bash
pip install -e ".[dev]"
pre-commit install ```
agent = Agent(tools=[tavily_search, tavily_extract, tavily_crawl, tavily_map])
agent = Agent(tools=[batch, http_request, use_aws])
result = agent.tool.batch( invocations=[ {"name": "http_request", "arguments": {"method": "GET", "url": "https://api.ipify.org?format=json"}}, { "name": "use_aws", "arguments": { "service_name": "s3", "operation_name": "list_buckets", "parameters": {}, "region": "us-east-1", "label": "List S3 Buckets" } }, ] ) ```
result = agent.tool.use_agent( prompt="Tell me about the advantages of tool-building in AI agents", system_prompt="You are a helpful AI assistant specializing in AI development concepts." )
agent = Agent(tools=[elasticsearch_memory])
agent = Agent(tools=[mongodb_memory])
python3 -m venv .venv source .venv/bin/activate # On Windows: venv\Scripts\activate
result = agent.tool.retrieve( text="Tell me about cloud computing" # enableMetadata will default to the environment variable value ) ```
import os os.environ["STRANDS_PROVIDER"] = "ollama" os.environ["STRANDS_MODEL_ID"] = "qwen3:4b" result = agent.tool.use_agent( prompt="Analyze this code", system_prompt="You are a code review assistant.", model_provider="env" )
result = agent.tool.use_agent( prompt="Write a creative story", system_prompt="You are a creative writing assistant.", model_provider="github", model_settings={ "model_id": "openai/o4-mini", "params": {"temperature": 1, "max_tokens": 4000} } ) ```
config = { "cloud_id": "your-elasticsearch-cloud-id", "api_key": "your-api-key", "index_name": "memories", "namespace": "user_123" }
config = { "connection_string": "mongodb+srv://username:password@cluster0.mongodb.net/?retryWrites=true&w=majority", "database_name": "memories", "collection_name": "user_memories", "namespace": "user_123" }
result = agent.tool.mongodb_memory( action="record", content="User prefers vegetarian pizza", database_name="memories", collection_name="user_memories", namespace="user_123" ) ```
Agents Tools provides extensive customization through environment variables. This allows you to configure tool behavior without modifying code, making it ideal for different environments (development, testing, production).
These variables affect multiple tools:
| Environment Variable | Description | Default | Affected Tools |
|---|---|---|---|
| BYPASS_TOOL_CONSENT | Bypass consent for tool invocation, set to "true" to enable | false | All tools that require consent (e.g. shell, file_write, python_repl) |
| STRANDS_TOOL_CONSOLE_MODE | Enable rich UI for tools, set to "enabled" to enable | disabled | All tools that have optional rich UI |
| AWS_REGION | Default AWS region for AWS operations | us-west-2 | use_aws, retrieve, generate_image, memory, nova_reels |
| AWS_PROFILE | AWS profile name to use from ~/.aws/credentials | default | use_aws, retrieve |
| LOG_LEVEL | Logging level (DEBUG, INFO, WARNING, ERROR) | INFO | All tools |
| Environment Variable | Description | Default |
|---|---|---|
| CALCULATOR_MODE | Default calculation mode | evaluate |
| CALCULATOR_PRECISION | Number of decimal places for results | 10 |
| CALCULATOR_SCIENTIFIC | Whether to use scientific notation for numbers | False |
| CALCULATOR_FORCE_NUMERIC | Force numeric evaluation of symbolic expressions | False |
| CALCULATOR_FORCE_SCIENTIFIC_THRESHOLD | Threshold for automatic scientific notation | 1e21 |
| CALCULATOR_DERIVE_ORDER | Default order for derivatives | 1 |
| CALCULATOR_SERIES_POINT | Default point for series expansion | 0 |
| CALCULATOR_SERIES_ORDER | Default order for series expansion | 5 |
| Environment Variable | Description | Default |
|---|---|---|
| DEFAULT_TIMEZONE | Default timezone for current_time tool | UTC |
| Environment Variable | Description | Default |
|---|---|---|
| MAX_SLEEP_SECONDS | Maximum allowed sleep duration in seconds | 300 |
| Environment Variable | Description | Default |
|---|---|---|
| TAVILY_API_KEY | Tavily API key (required for all Tavily functionality) | None |
| Environment Variable | Description | Default |
|---|---|---|
| EXA_API_KEY | Exa API key (required for all Exa functionality) | None |
The Mem0 Memory Tool supports three different backend configurations:
1. Mem0 Platform: - Uses the Mem0 Platform API for memory management - Requires a Mem0 API key
2. OpenSearch (Recommended for AWS environments): - Uses OpenSearch as the vector store backend - Requires AWS credentials and OpenSearch configuration
3. FAISS (Default for local development): - Uses FAISS as the local vector store backend - Requires faiss-cpu package for local vector storage
4. Neptune Analytics (Optional Graph backend for search enhancement): - Uses Neptune Analytics as the graph store backend to enhance memory recall. - Requires AWS credentials and Neptune Analytics configuration
# Configure your Neptune Analytics graph ID in the .env file:
export NEPTUNE_ANALYTICS_GRAPH_IDENTIFIER=sample-graph-id
# Configure your Neptune Analytics graph ID in Python code:
import os
os.environ['NEPTUNE_ANALYTICS_GRAPH_IDENTIFIER'] = "g-sample-graph-id"
| Environment Variable | Description | Default | Required For |
|---|---|---|---|
| MEM0_API_KEY | Mem0 Platform API key | None | Mem0 Platform |
| OPENSEARCH_HOST | OpenSearch Host URL | None | OpenSearch |
| AWS_REGION | AWS Region for OpenSearch | us-west-2 | OpenSearch |
| NEPTUNE_ANALYTICS_GRAPH_IDENTIFIER | Neptune Analytics Graph Identifier | None | Neptune Analytics |
| DEV | Enable development mode (bypasses confirmations) | false | All modes |
| MEM0_LLM_PROVIDER | LLM provider for memory processing | aws_bedrock | All modes |
| MEM0_LLM_MODEL | LLM model for memory processing | anthropic.claude-3-5-haiku-20241022-v1:0 | All modes |
| MEM0_LLM_TEMPERATURE | LLM temperature (0.0-2.0) | 0.1 | All modes |
| MEM0_LLM_MAX_TOKENS | LLM maximum tokens | 2000 | All modes |
| MEM0_EMBEDDER_PROVIDER | Embedder provider for vector embeddings | aws_bedrock | All modes |
| MEM0_EMBEDDER_MODEL | Embedder model for vector embeddings | amazon.titan-embed-text-v2:0 | All modes |
Note: - If MEM0_API_KEY is set, the tool will use the Mem0 Platform - If OPENSEARCH_HOST is set, the tool will use OpenSearch - If neither is set, the tool will default to FAISS (requires faiss-cpu package) - If NEPTUNE_ANALYTICS_GRAPH_IDENTIFIER is set, the tool will configure Neptune Analytics as graph store to enhance memory search - LLM configuration applies to all backend modes and allows customization of the language model used for memory processing
| Environment Variable | Description | Default |
|---|---|---|
| BRIGHTDATA_API_KEY | Bright Data API Key | None |
| BRIGHTDATA_ZONE | Bright Data Web Unlocker Zone | web_unlocker1 |
| Environment Variable | Description | Default |
|---|---|---|
| MEMORY_DEFAULT_MAX_RESULTS | Default maximum results for list operations | 50 |
| MEMORY_DEFAULT_MIN_SCORE | Default minimum relevance score for filtering results | 0.4 |
| Environment Variable | Description | Default |
|---|---|---|
| NOVA_REEL_DEFAULT_SEED | Default seed for video generation | 0 |
| NOVA_REEL_DEFAULT_FPS | Default frames per second for generated videos | 24 |
| NOVA_REEL_DEFAULT_DIMENSION | Default video resolution in WIDTHxHEIGHT format | 1280x720 |
| NOVA_REEL_DEFAULT_MAX_RESULTS | Default maximum number of jobs to return for list action | 10 |
| Environment Variable | Description | Default |
|---|---|---|
| PYTHON_REPL_BINARY_MAX_LEN | Maximum length for binary content before truncation | 100 |
| PYTHON_REPL_INTERACTIVE | Whether to enable interactive PTY mode | None |
| PYTHON_REPL_RESET_STATE | Whether to reset the REPL state before execution | None |
| PYTHON_REPL_PERSISTENCE_DIR | Set Directory for python_repl tool to write state file | None |
| Environment Variable | Description | Default |
|---|---|---|
| SHELL_DEFAULT_TIMEOUT | Default timeout in seconds for shell commands | 900 |
| Environment Variable | Description | Default |
|---|---|---|
| SLACK_DEFAULT_EVENT_COUNT | Default number of events to retrieve | 42 |
| STRANDS_SLACK_AUTO_REPLY | Enable automatic replies to messages | false |
| STRANDS_SLACK_LISTEN_ONLY_TAG | Only process messages containing this tag | None |
| Environment Variable | Description | Default |
|---|---|---|
| SPEAK_DEFAULT_STYLE | Default style for status messages | green |
| SPEAK_DEFAULT_MODE | Default speech mode (fast/polly) | fast |
| SPEAK_DEFAULT_VOICE_ID | Default Polly voice ID | Joanna |
| SPEAK_DEFAULT_OUTPUT_PATH | Default audio output path | speech_output.mp3 |
| SPEAK_DEFAULT_PLAY_AUDIO | Whether to play audio by default | True |
| Environment Variable | Description | Default |
|---|---|---|
| EDITOR_DIR_TREE_MAX_DEPTH | Maximum depth for directory tree visualization | 2 |
| EDITOR_DEFAULT_STYLE | Default style for output panels | default |
| EDITOR_DEFAULT_LANGUAGE | Default language for syntax highlighting | python |
| EDITOR_DISABLE_BACKUP | Skip creating .bak backup files during edit operations | false |
| Environment Variable | Description | Default |
|---|---|---|
| ENV_VARS_MASKED_DEFAULT | Default setting for masking sensitive values | true |
| Environment Variable | Description | Default |
|---|---|---|
| STRANDS_HTTP_ALLOW_INSECURE_SSL | Allow disabling SSL certificate verification via verify_ssl parameter | false |
| Environment Variable | Description | Default | |----------------------|-------------|---------| | STRANDS_MCP_TIMEOUT | Default timeout in seconds for MCP operations | 30.0 |
| Environment Variable | Description | Default |
|---|---|---|
| FILE_READ_RECURSIVE_DEFAULT | Default setting for recursive file searching | true |
| FILE_READ_CONTEXT_LINES_DEFAULT | Default number of context lines around search matches | 2 |
| FILE_READ_START_LINE_DEFAULT | Default starting line number for lines mode | 0 |
| FILE_READ_CHUNK_OFFSET_DEFAULT | Default byte offset for chunk mode | 0 |
| FILE_READ_DIFF_TYPE_DEFAULT | Default diff type for file comparisons | unified |
| FILE_READ_USE_GIT_DEFAULT | Default setting for using git in time machine mode | true |
| FILE_READ_NUM_REVISIONS_DEFAULT | Default number of revisions to show in time machine mode | 5 |
| Environment Variable | Description | Default |
|---|---|---|
| STRANDS_DEFAULT_WAIT_TIME | Default setting for wait time with actions | 1 |
| STRANDS_BROWSER_MAX_RETRIES | Default number of retries to perform when an action fails | 3 |
| STRANDS_BROWSER_RETRY_DELAY | Default retry delay time for retry mechanisms | 1 |
| STRANDS_BROWSER_SCREENSHOTS_DIR | Default directory where screenshots will be saved | screenshots |
| STRANDS_BROWSER_USER_DATA_DIR | Default directory where data for reloading a browser instance is stored | ~/.browser_automation |
| STRANDS_BROWSER_HEADLESS | Default headless setting for launching browsers | false |
| STRANDS_BROWSER_WIDTH | Default width of the browser | 1280 |
| STRANDS_BROWSER_HEIGHT | Default height of the browser | 800 |
| Environment Variable | Description | Default |
|---|---|---|
| STRANDS_RSS_MAX_ENTRIES | Default setting for maximum number of entries per feed | 100 |
| STRANDS_RSS_UPDATE_INTERVAL | Default amount of time between updating rss feeds in minutes | 60 |
| STRANDS_RSS_STORAGE_PATH | Default storage path where rss feeds are stored locally | strands_rss_feeds (this may vary based on your system) |
| Environment Variable | Description | Default |
|---|---|---|
| RETRIEVE_ENABLE_METADATA_DEFAULT | Default setting for enabling metadata in retrieve tool responses | false |
| Environment Variable | Description | Default |
|---|---|---|
| STRANDS_PROVIDER | Default model provider when using model_provider="env" | ollama |
| STRANDS_MODEL_ID | Default model identifier for environment-based model selection | None |
| STRANDS_MAX_TOKENS | Maximum tokens for the nested agent model | None |
| STRANDS_TEMPERATURE | Sampling temperature for the nested agent model | None |
| Environment Variable | Description | Default |
|---|---|---|
| ELASTICSEARCH_CLOUD_ID | Elasticsearch Cloud ID for connection | None |
| ELASTICSEARCH_URL | Elasticsearch URL for serverless connection | None |
| ELASTICSEARCH_API_KEY | Elasticsearch API key for authentication | None |
| ELASTICSEARCH_INDEX_NAME | Elasticsearch index name for memory storage | strands_memory |
| ELASTICSEARCH_NAMESPACE | Namespace for memory isolation | default |
| ELASTICSEARCH_EMBEDDING_MODEL | Amazon Bedrock model for embeddings | amazon.titan-embed-text-v2:0 |
| AWS_REGION | AWS region for Bedrock embedding service | us-west-2 |
Note: This tool requires AWS account credentials to generate embeddings using Amazon Bedrock Titan models.
The graph tool uses the same model provider environment variables as use_agent for per-node model configuration. No additional environment variables are required.
| Environment Variable | Description | Default | |----------------------|-------------|---------| | TWELVELABS_API_KEY | TwelveLabs API key for video analysis | None | | TWELVELABS_MARENGO_INDEX_ID | Default index ID for search_video tool | None | | TWELVELABS_PEGASUS_INDEX_ID | Default index ID for chat_video tool | None |
| Environment Variable | Description | Default |
|---|---|---|
| MONGODB_ATLAS_CLUSTER_URI | MongoDB Atlas connection string | None |
| MONGODB_DATABASE_NAME | Database name for MongoDB operations | strands_memory |
| MONGODB_COLLECTION_NAME | Collection name for MongoDB operations | memories |
| MONGODB_NAMESPACE | Namespace for memory isolation | default |
| MONGODB_EMBEDDING_MODEL | Amazon Bedrock model for embeddings | amazon.titan-embed-text-v2:0 |
Note: This tool requires AWS account credentials to generate embeddings using Amazon Bedrock Titan models.
⚠️ SECURITY WARNING: The Dynamic MCP Client allows agents to autonomously connect to external MCP servers and load remote tools at runtime. This poses significant security risks as agents can potentially connect to malicious servers and execute untrusted code. Use with extreme caution in production environments.
This tool is different from the static MCP server implementation in the Strands SDK (see MCP Tools Documentation) which uses pre-configured, trusted MCP servers.
```python from strands import Agent from strands_tools import mcp_client
agent = Agent(tools=[mcp_client])
result = agent.tool.graph( action="create", graph_id="research_pipeline", topology={ "nodes": [ { "id": "researcher", "role": "researcher", "system_prompt": "You research topics thoroughly.", "model_provider": "bedrock", "model_settings": {"model_id": "us.anthropic.claude-sonnet-4-20250514-v1:0"} }, { "id": "analyst", "role": "analyst", "system_prompt": "You analyze research data.", "model_provider": "bedrock", "model_settings": {"model_id": "us.anthropic.claude-3-5-haiku-20241022-v1:0"} }, { "id": "reporter", "role": "reporter", "system_prompt": "You create comprehensive reports.", "tools": ["file_write", "editor"] } ], "edges": [ {"from": "researcher", "to": "analyst"}, {"from": "analyst", "to": "reporter"} ], "entry_points": ["researcher"] } )
成熟的MCP工具生态项目,1.1k星标体现社区认可度。Python实��便于集成,持续维护更新,是构建AI代理的优质基础设施。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
AI Skill Hub 点评:MCP智能代理工具集 的核心功能完整,质量优秀。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | tools |
| Topics | MCP协议AI代理工具集成AnthropicPython |
| GitHub | https://github.com/strands-agents/tools |
| License | Apache-2.0 |
| 语言 | Python |
收录时间:2026-06-29 · 更新时间:2026-06-29 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端