Zero Config • No API Keys • Free Tier

Integrate in 60 Seconds

Add 22 tools to any AI agent. Works with every framework.

Try it now (no signup)

curl -X POST https://tryautropic.com/mcp/weather/tools/call \
  -H "Content-Type: application/json" \
  -d '{"name":"get_weather","arguments":{"location":"San Francisco"}}'
▶ Live Demo

Choose Your Framework

LangChain
CrewAI
AutoGPT
OpenAI
JavaScript
Raw HTTP

LangChain (Python)

import requests
from langchain.tools import Tool

def call_autropic(server, tool, args):
    r = requests.post(f"https://tryautropic.com/mcp/{server}/tools/call",
                      json={"name": tool, "arguments": args})
    return r.json().get("content", r.json())

# Create tools
weather_tool = Tool(
    name="weather",
    description="Get current weather for any location",
    func=lambda loc: call_autropic("weather", "get_weather", {"location": loc})
)

crypto_tool = Tool(
    name="crypto_price",
    description="Get cryptocurrency prices",
    func=lambda sym: call_autropic("crypto-prices", "get_price", {"symbol": sym})
)

# Use with any LangChain agent
from langchain.agents import create_react_agent
agent = create_react_agent(llm, [weather_tool, crypto_tool], prompt)
Full Integration →

CrewAI

from crewai.tools import BaseTool
import requests

class WeatherTool(BaseTool):
    name = "Weather Lookup"
    description = "Get current weather for any location"
    
    def _run(self, location: str) -> str:
        r = requests.post("https://tryautropic.com/mcp/weather/tools/call",
                         json={"name": "get_weather", "arguments": {"location": location}})
        return str(r.json().get("content"))

class CryptoTool(BaseTool):
    name = "Crypto Price"
    description = "Get cryptocurrency prices (BTC, ETH, etc)"
    
    def _run(self, symbol: str) -> str:
        r = requests.post("https://tryautropic.com/mcp/crypto-prices/tools/call",
                         json={"name": "get_price", "arguments": {"symbol": symbol}})
        return str(r.json().get("content"))

# Use with CrewAI
from crewai import Agent
researcher = Agent(
    role='Research Assistant',
    tools=[WeatherTool(), CryptoTool()],
    ...
)
Full Integration →

AutoGPT Block

# Add to autogpt_platform/backend/backend/blocks/autropic.py

from backend.data.block import Block, BlockCategory, BlockOutput, BlockSchema
from backend.data.model import SchemaField
import requests

class AuotropicWeatherBlock(Block):
    class Input(BlockSchema):
        location: str = SchemaField(description="City or location")
    
    class Output(BlockSchema):
        weather: str = SchemaField(description="Weather data")
        error: str = SchemaField(description="Error if failed")
    
    def __init__(self):
        super().__init__(
            id="autropic-weather",
            description="Get current weather (via Autropic)",
            categories={BlockCategory.TOOLS},
            input_schema=self.Input,
            output_schema=self.Output,
        )
    
    def run(self, input_data, **kwargs):
        try:
            r = requests.post("https://tryautropic.com/mcp/weather/tools/call",
                            json={"name": "get_weather", 
                                  "arguments": {"location": input_data.location}})
            yield "weather", str(r.json().get("content"))
        except Exception as e:
            yield "error", str(e)
Full Integration →

OpenAI Function Calling

import openai
import requests

# Define functions
functions = [{
    "name": "get_weather",
    "description": "Get current weather for a location",
    "parameters": {
        "type": "object",
        "properties": {"location": {"type": "string"}},
        "required": ["location"]
    }
}]

# Handle function calls
def handle_function(name, args):
    endpoints = {
        "get_weather": ("weather", "get_weather"),
        "get_crypto": ("crypto-prices", "get_price"),
        "calculate": ("calculator", "evaluate"),
    }
    server, tool = endpoints[name]
    r = requests.post(f"https://tryautropic.com/mcp/{server}/tools/call",
                      json={"name": tool, "arguments": args})
    return r.json()

# Use with OpenAI
response = openai.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],
    functions=functions
)

if response.choices[0].message.function_call:
    fc = response.choices[0].message.function_call
    result = handle_function(fc.name, json.loads(fc.arguments))
    print(result)

JavaScript / TypeScript

// Works in Node.js, Deno, Bun, browsers

async function callTool(server, tool, args) {
  const res = await fetch(`https://tryautropic.com/mcp/${server}/tools/call`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ name: tool, arguments: args })
  });
  return res.json();
}

// Usage
const weather = await callTool('weather', 'get_weather', { location: 'NYC' });
const btcPrice = await callTool('crypto-prices', 'get_price', { symbol: 'BTC' });
const calc = await callTool('calculator', 'evaluate', { expression: '2^10' });

console.log(weather.content);  // { temperature: 45, conditions: 'Cloudy', ... }
console.log(btcPrice.content); // { symbol: 'BTC', price: 97500, ... }
console.log(calc.content);     // 1024
# Or install the npm package
npm install autropic-tools

const { weather, crypto, search } = require('autropic-tools');
const wx = await weather('London');
const btc = await crypto('BTC');

Raw HTTP (any language)

POST https://tryautropic.com/mcp/{server}/tools/call
Content-Type: application/json

{
  "name": "{tool_name}",
  "arguments": { ... }
}

Examples:

# Weather
POST /mcp/weather/tools/call
{"name": "get_weather", "arguments": {"location": "Paris"}}

# Time
POST /mcp/time/tools/call  
{"name": "get_current_time", "arguments": {"timezone": "Europe/London"}}

# Crypto
POST /mcp/crypto-prices/tools/call
{"name": "get_price", "arguments": {"symbol": "ETH"}}

# Calculator
POST /mcp/calculator/tools/call
{"name": "evaluate", "arguments": {"expression": "sqrt(144) * 3"}}

# Discover tools by need
GET /discover?q=convert+currency

Available Tools (22)

weather
Current weather for any location
time
Current time in any timezone
search
Web search
crypto-prices
Cryptocurrency prices
calculator
Math expression evaluation
geo
Geocoding (address → coords)
currency
Currency conversion
dns
DNS lookups
uuid
UUID generation
hash
Hash text (MD5, SHA256, etc)
base64
Encode/decode base64
random
Random number generation
url
URL parsing
text
Text manipulation
regex
Regex matching
datetime
Date/time parsing
markdown
Markdown rendering
memory
Key-value storage
fetch
HTTP requests
email
Email validation
json
JSON operations

Why Hosted Tools?

Ready to build?

Questions? Feature requests?

Contact Us GitHub