Merekrut rakan kongsi reka bentuk untuk bidang baharu — membuka industri baharu, dapatkan platform pada separuh harga

Tools API

Nexevo mendedahkan REST Tools API supaya SDK mana-mana rangka kerja agent — LangChain, Anthropic, LlamaIndex, Gemini, atau klien tersuai — boleh mengguna subset selamat alat workspace anda, dalam format wayar yang rangka kerja itu sudah bertutur.

Gambaran keseluruhan

Tools API ialah pelengkap REST kepada pelayan MCP. Guna MCP untuk klien natif-MCP (Claude Desktop, Cursor); guna Tools API apabila anda mahu REST JSON tulen dalam format panggilan-alat rangka kerja sendiri.

Endpoint

Tiga endpoint REST, semuanya disahkan dengan kunci API workspace:

  • GET /v1/tools?format=openai — senaraikan semua skema alat tersedia dalam format wayar yang diminta.

  • GET /v1/tools/{name}?format=anthropic — skema satu alat.

  • POST /v1/tools/{name}/invoke — laksanakan alat dengan argumen.

Pengesahan

Gunakan kunci API workspace yang sama seperti REST API, dalam pengepala Authorization. Kunci mengikat panggilan kepada satu workspace — klien hanya melihat alat dan data workspace itu sahaja.

http
Authorization: Bearer sk-ws-...

Apa yang didedahkan

Hanya subset selamat, baca / kira-sahaja set alat agent tersedia (sama dengan skop pelayan MCP):

  • Penyelidikan web — gelintar, baca halaman, kikis, baca PDF/doc, OCR imej.

  • Data terbuka — arXiv, SEC EDGAR, World Bank, OECD, data pasaran, RSS.

  • Pengetahuan workspace andarag_search ke atas ingatan jangka panjang dan pengetahuan dimuat naiknya.

  • Kira — kalkulator, penukaran unit dan penolong tulen lain.

Penjanaan, e-mel, pelayar, penyambung, SQL dan tindakan memusnah tidak didedahkan — klien luaran boleh membaca dan menaakul, tetapi tidak boleh berbelanja atau mengubah.

Format wayar

Parameter query format memilih cara skema alat disirikan. Pilih yang SDK rangka kerja anda jangkakan:

format

Medan skema

Guna dengan

openai (lalai)

parameters

OpenAI Chat Completions, LangChain

openai_responses

parameters (rata)

OpenAI Responses API

anthropic

input_schema

Anthropic Messages API

mcp

inputSchema

Klien serasi-MCP

gemini

parameters

Google Gemini FunctionDeclarations

Menyenaraikan alat

bash
curl https://nexevo.ai/v1/tools?format=anthropic \
  -H "Authorization: Bearer sk-ws-..."
json
{
  "tools": [
    {
      "name": "web_search",
      "description": "Search the public web ...",
      "input_schema": {
        "type": "object",
        "properties": { "query": { "type": "string" } },
        "required": ["query"]
      }
    }
  ],
  "format": "anthropic"
}

Memanggil alat

bash
curl -X POST https://nexevo.ai/v1/tools/web_search/invoke \
  -H "Authorization: Bearer sk-ws-..." \
  -H "Content-Type: application/json" \
  -d '{"arguments": {"query": "latest LLM benchmarks"}}'
json
{
  "content": "{\"count\": 5, \"results\": [...]}",
  "ok": true,
  "error_kind": "",
  "artifacts": []
}

Ralat alat memulangkan ok: false dengan error_kind (timeout / exception) dan content boleh-dibaca-manusia — bukan ralat HTTP, jadi agent pemanggil boleh bertindak balas.

Integrasi rangka kerja

Corak integrasi tipikal: ambil senarai alat sekali, hantar ke API panggilan-alat rangka kerja anda, kemudian halakan setiap panggilan alat yang dipancarkan model ke POST /v1/tools/{name}/invoke.

SDK Anthropic

python
import anthropic, httpx

client = anthropic.Anthropic()
BASE = "https://nexevo.ai/v1"
HEADERS = {"Authorization": "Bearer sk-ws-..."}

# 1. fetch tools in Anthropic format
tools = httpx.get(f"{BASE}/tools", params={"format": "anthropic"}, headers=HEADERS).json()["tools"]

# 2. let Claude pick a tool, then execute it via Nexevo
msg = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    tools=tools,
    messages=[{"role": "user", "content": "What's in my knowledge base about Q3?"}],
)
for block in msg.content:
    if block.type == "tool_use":
        r = httpx.post(f"{BASE}/tools/{block.name}/invoke",
                       headers=HEADERS, json={"arguments": block.input})
        print(r.json()["content"])

OpenAI / LangChain

python
import httpx
from langchain_core.tools import StructuredTool

BASE = "https://nexevo.ai/v1"
HEADERS = {"Authorization": "Bearer sk-ws-..."}

# fetch in OpenAI format, wrap each as a LangChain tool
raw = httpx.get(f"{BASE}/tools", params={"format": "openai"}, headers=HEADERS).json()["tools"]

def make_executor(name):
    def _run(**kwargs):
        r = httpx.post(f"{BASE}/tools/{name}/invoke", headers=HEADERS, json={"arguments": kwargs})
        return r.json()["content"]
    return _run

tools = [
    StructuredTool.from_function(
        func=make_executor(t["function"]["name"]),
        name=t["function"]["name"],
        description=t["function"]["description"],
        # args_schema can be derived from t["function"]["parameters"]
    )
    for t in raw
]