Skip to main content

Official Python SDK for AgentForge AI Agent Tool Marketplace

Project description

agentforge-sdk

Official Python SDK for the AgentForge AI Agent Tool Marketplace.

Discover, execute, and manage AI tools from a unified API. Single dependency: httpx.

Install

pip install agentforge-sdk

Quick Start

from agentforge import AgentForge

agent = AgentForge(api_key="agf_agent_...")
tools = agent.discover(intent="translate text to French")
result = agent.execute(tools["tools"][0]["id"], {"text": "Hello", "target": "fr"})
print(result["data"])

Features

  • Tool Discovery -- search by intent, category, protocol, tags, or price
  • Schema Retrieval -- get function-calling compatible schemas for any tool
  • Execution -- call any tool with typed parameters and get structured results
  • Batch Execution -- run up to 10 tool calls in a single request
  • Retry with Backoff -- exponential backoff with jitter (configurable)
  • Circuit Breaker -- check tool health before calling unreliable endpoints
  • Billing -- check balance, deposit funds, view call history
  • Minimal Dependencies -- only httpx required

Configuration

agent = AgentForge(
    api_key="agf_agent_...",
    base_url="https://api.agentforge.markets",  # default
    timeout=30.0,                             # default: 30s
    max_retries=3,                            # default: 3, set 0 to disable
)

Use as a context manager for automatic cleanup:

with AgentForge(api_key="agf_agent_...") as agent:
    result = agent.execute("tool-uuid", {"text": "Hello"})

API Reference

Discovery

# Discover tools by intent (natural language)
result = agent.discover(intent="summarize a webpage")

# Filter by category and price
cheap = agent.discover(category="nlp", maxPrice=0.01)

# List all tools with pagination
page = agent.list_tools(limit=20, offset=0)

# Get function-calling schema
schema = agent.get_tool_schema("tool-uuid")

Execution

# Execute a single tool
result = agent.execute("tool-uuid", {"text": "Hello world"})

# Batch execution (up to 10 calls)
batch = agent.execute_batch([
    {"toolId": "tool-1", "parameters": {"query": "AI news"}},
    {"toolId": "tool-2", "parameters": {"url": "https://example.com"}},
])

Billing

balance = agent.get_balance()
agent.deposit(10.00)
history = agent.get_history(limit=20)

Health Check

health = agent.health_check("tool-uuid")
# health["status"]: "CLOSED" (healthy) | "OPEN" (failing) | "HALF_OPEN" (testing)

Error Handling

from agentforge import AgentForge, AgentForgeError

agent = AgentForge(api_key="agf_agent_...")

try:
    agent.execute("tool-uuid", {"text": "test"})
except AgentForgeError as e:
    print(e.code)         # "INSUFFICIENT_FUNDS", "TIMEOUT", etc.
    print(e.status_code)  # HTTP status code
    print(e.retryable)    # whether the SDK would auto-retry

Error Codes

Code HTTP Description
UNAUTHORIZED 401 Invalid or missing API key
FORBIDDEN 403 Insufficient permissions
NOT_FOUND 404 Tool or resource not found
INSUFFICIENT_FUNDS 402 Agent balance too low
VALIDATION_ERROR 400 Invalid request parameters
RATE_LIMITED 429 Too many requests
TIMEOUT -- Request exceeded timeout
NETWORK_ERROR -- Connection failure
SERVER_ERROR 5xx AgentForge server error
CIRCUIT_OPEN 503 Tool endpoint failing (circuit open)

Use with LLMs

The SDK works seamlessly with LLM function-calling workflows:

import anthropic
from agentforge import AgentForge

client = anthropic.Anthropic()
forge = AgentForge(api_key="agf_agent_...")

# Discover tools and build function definitions
discovered = forge.discover(intent=user_message)
tools = []
for t in discovered["tools"][:5]:
    schema = forge.get_tool_schema(t["id"])
    tools.append({
        "name": schema["function"]["name"],
        "description": schema["function"]["description"],
        "input_schema": schema["function"]["parameters"],
    })

# Let Claude decide which tool to use
response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    tools=tools,
    messages=[{"role": "user", "content": user_message}],
)

Full Documentation

Visit agentforge.markets/docs for the complete API reference, guides, and examples.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentforge_markets-1.0.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentforge_markets-1.0.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file agentforge_markets-1.0.0.tar.gz.

File metadata

  • Download URL: agentforge_markets-1.0.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for agentforge_markets-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2e6930bfc68970b32840d5081e17d78327626bc41de390e70823adb58dc0fe6f
MD5 7115b49c77707d7297eae6267abe7e3e
BLAKE2b-256 3cc3055174922164bce3d2d3780e29967370d8439f9ae70e003d96d221c4f054

See more details on using hashes here.

File details

Details for the file agentforge_markets-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentforge_markets-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb3c62379744375418bb7c406f58bc3db744bf2ee50a48d24929cba9ae325288
MD5 49c2022246559d93bfad7dc18bc2e8e1
BLAKE2b-256 742a9ddf243cd0b93b2f5fd1d268f4c2bedcda204848b3e938c3862c2ee8bafd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page