Import Tools
Applies to SDK 0.16+ · Last updated: 2026-06-12
Already have tools written for another framework? The import command detects tool names, descriptions, and input schemas from your existing code and generates an ANP manifest automatically. No rewriting required.
Supported platforms
| Platform | What it detects | Command |
|---|---|---|
| MCP | @server.tool() decorated functions, tool descriptions, input schemas | agentnode import server.py --from mcp |
| LangChain | BaseTool subclasses, @tool decorated functions, schemas | agentnode import tools.py --from langchain |
| OpenAI Functions | Function definitions in JSON format | agentnode import functions.json --from openai |
| CrewAI | @tool decorated functions, tool descriptions | agentnode import tools.py --from crewai |
| ClawHub | ClawHub manifest files | agentnode import manifest.json --from clawhub |
| Skills.sh | Skills.sh skill configs | agentnode import skill.json --from skillssh |
Import from MCP
terminal
$ agentnode import mcp_server.py --from mcp
Detected 3 tools in mcp_server.py:
search_web -> capability: web_search
extract_page -> capability: webpage_extraction
send_email -> capability: email_sending
Generated agentnode.yaml with 3 tools.
Review and edit the manifest, then publish with: agentnode publish .Import from LangChain
terminal
$ agentnode import search_tool.py --from langchain
Detected 1 tool in search_tool.py:
SearchTool (BaseTool subclass)
name: "web_search"
description: "Search the web for information"
-> capability: web_search
Generated agentnode.yaml with 1 tool.Import from OpenAI Functions
terminal
$ agentnode import functions.json --from openai
Detected 2 functions in functions.json:
get_weather -> capability: weather_lookup
search_docs -> capability: document_search
Generated agentnode.yaml with 2 tools.Import from CrewAI
terminal
$ agentnode import crew_tools.py --from crewai
Detected 2 tools in crew_tools.py:
@tool search_internet -> capability: web_search
@tool analyze_data -> capability: data_analysis
Generated agentnode.yaml with 2 tools.Web import tool
Prefer a visual interface? Use the web-based import tool to paste your code or upload a file and generate a manifest in your browser.
After importing
The import command generates an agentnode.yaml manifest with auto-detected values. You should review the generated manifest and:
- Verify the detected capability IDs are correct
- Set the appropriate permission levels (the importer defaults to conservative values)
- Add your publisher namespace
- Verify the per-tool entrypoints are correct (e.g.
tool:create_issuefor multi-tool packs) - Run
agentnode validate .to confirm everything is correct - Publish with
agentnode publish .