Agent frameworks
Connect OSINTverse to agents you build with the Claude Agent SDK, the OpenAI Agents SDK, LangChain, or n8n, and find the server by discovery.
Every framework below talks to the same remote MCP server, https://osintverse.com/mcp, with an ov_ API key as a bearer token. Create the key under Dashboard → API keys.
API keys are always live
A key bills its wallet on every paid call, with no sandbox. While you build, point the agent at the no-account demo endpoint https://osintverse.com/mcp/demo (no header, sample data, never charged), or leave the paid tools (run_search, run_bulk_search) out of the allowed list until the workflow looks right. The workspace daily cap still applies to keys.
Claude Agent SDK
import { query } from "@anthropic-ai/claude-agent-sdk"
for await (const message of query({
prompt: "Quote a LeakRadar email lookup for user@example.com. Run it only if it costs under $2, then summarise.",
options: {
mcpServers: {
osintverse: {
type: "http",
url: "https://osintverse.com/mcp",
headers: { Authorization: `Bearer ${process.env.OSINTVERSE_API_KEY}` },
},
},
allowedTools: [
"mcp__osintverse__whoami",
"mcp__osintverse__list_providers",
"mcp__osintverse__quote_search",
"mcp__osintverse__run_search",
"mcp__osintverse__get_search",
],
},
})) {
if (message.type === "result" && message.subtype === "success") console.log(message.result)
}Tool names follow mcp__osintverse__<tool>. The full list is in the tool reference.
Claude API
The Messages API connects to the server with the MCP connector, no SDK process needed. See the Messages API tab in Connect an agent.
OpenAI Agents SDK
import asyncio, os
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
async def main():
async with MCPServerStreamableHttp(
name="osintverse",
params={
"url": "https://osintverse.com/mcp",
"headers": {"Authorization": f"Bearer {os.environ['OSINTVERSE_API_KEY']}"},
},
cache_tools_list=True,
) as osintverse:
agent = Agent(
name="Investigator",
instructions="Always call quote_search before run_search and stay under the budget the user gives.",
mcp_servers=[osintverse],
)
result = await Runner.run(agent, "What do breach sources hold for user@example.com? Budget $2.")
print(result.final_output)
asyncio.run(main())LangChain and LangGraph
import asyncio, os
from langchain.agents import create_agent
from langchain_mcp_adapters.client import MultiServerMCPClient
async def main():
client = MultiServerMCPClient({
"osintverse": {
"transport": "streamable_http",
"url": "https://osintverse.com/mcp",
"headers": {"Authorization": f"Bearer {os.environ['OSINTVERSE_API_KEY']}"},
}
})
tools = await client.get_tools()
agent = create_agent("anthropic:claude-opus-5-5", tools)
result = await agent.ainvoke({"messages": [{"role": "user", "content": "Quote, then run, a LeakRadar lookup for user@example.com."}]})
print(result["messages"][-1].content)
asyncio.run(main())n8n
- Add an AI Agent node and attach an MCP Client Tool to its tools input.
- Set Endpoint to
https://osintverse.com/mcpand Server Transport to HTTP Streamable. - Set Authentication to Bearer Auth and store the
ov_key as the credential. - Under Tools to Include choose Selected and start with the read tools (
whoami,list_providers,quote_search,get_search) before addingrun_search.
Plain HTTP and other languages
Any client that speaks MCP streamable HTTP works the same way: POST https://osintverse.com/mcp with Authorization: Bearer ov_.... Without MCP, the REST API offers the same searches; its OpenAPI spec is at https://osintverse.com/openapi.json.
Discovery
Agents and registries can find the server without being told the URL:
| Document | URL |
|---|---|
| MCP Server Card | https://osintverse.com/mcp/server-card |
| AI Catalog | https://osintverse.com/.well-known/ai-catalog.json |
| API catalog (RFC 9727) | https://osintverse.com/.well-known/api-catalog |
| OAuth protected resource | https://osintverse.com/.well-known/oauth-protected-resource/mcp |
| OpenAPI | https://osintverse.com/openapi.json |
| Pricing as JSON | https://osintverse.com/pricing.json |
| Docs for LLMs | https://osintverse.com/llms.txt, https://osintverse.com/llms-full.txt |
In the official MCP Registry the server is com.osintverse/mcp.