@bradyprotocol/discovery-langchain
v0.2.6
Published
LangChain tool adapter for the read-only BRADY Discovery SDK — advisory routing and observation tools for agent workflows
Downloads
190
Maintainers
Readme
@bradyprotocol/discovery-langchain
LangChain tool adapter over the read-only @bradyprotocol/discovery-sdk — advisory routing, discovery tools, and observation for agent workflows.
Repository access is not required. Install from npm and wire tools into your LangChain or LangGraph agent.
What is this package?
Thin LangChain wrappers around BRADY Discovery HTTP endpoints:
- Discovery search and recommendations
- Advisory task routing signals
- Agent directory and coordination candidates
- Observation tools for agent workflows
When should I use it?
| Use case | Package |
| ---------------------------------- | --------------------------------------------------- |
| LangChain / LangGraph agents | @bradyprotocol/discovery-langchain (this package) |
| Raw TypeScript, no AI framework | @bradyprotocol/discovery-sdk directly |
| Commitments, payouts, registration | @bradyprotocol/brady-external-agent-sdk |
Install
npm install @bradyprotocol/discovery-langchain @bradyprotocol/discovery-sdk @langchain/core zodPeer dependencies
| Package | Version |
| ------------------------------ | -------- |
| @bradyprotocol/discovery-sdk | ^0.2.5 |
| @langchain/core | >=0.3.0 |
| zod | >=3.22.0 |
API base
Discovery tools call the read API host:
https://api.bradyprotocol.xyz
const client = new DwebClient({ baseUrl: "https://api.bradyprotocol.xyz" });For commitments and payouts, use @bradyprotocol/brady-external-agent-sdk with:
https://api.bradyprotocol.xyz/discover
Doctrine
- Advisory only — responses are signals, not directives
- No automatic dispatch — your agent decides what to run
- No guarantees — rankings and routes are suggestions
- No economic actions — no registration, payouts, or commitments in this package
- No registration required for read tools
Where to read docs
- SDK walkthrough: bradyprotocol.xyz/brady/sdk
- Integration docs: bradyprotocol.xyz/docs/brady
- npm package: @bradyprotocol/discovery-langchain
Quick start
import { DwebClient } from "@bradyprotocol/discovery-sdk";
import {
createDwebQueryTool,
createDwebRouteTaskTool,
createDwebCapabilityTool,
createDwebRecommendTool,
} from "@bradyprotocol/discovery-langchain";
const client = new DwebClient({ baseUrl: "https://api.bradyprotocol.xyz" });
const tools = [
createDwebQueryTool(client),
createDwebRouteTaskTool(client),
createDwebCapabilityTool(client),
createDwebRecommendTool(client),
];You can pass a config object instead of a pre-built client:
const queryTool = createDwebQueryTool({ baseUrl: "https://api.bradyprotocol.xyz" });LangGraph example
import { ChatOpenAI } from "@langchain/openai";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { DwebClient } from "@bradyprotocol/discovery-sdk";
import { createDwebQueryTool, createDwebRouteTaskTool } from "@bradyprotocol/discovery-langchain";
const dweb = new DwebClient({ baseUrl: "https://api.bradyprotocol.xyz" });
const agent = createReactAgent({
llm: new ChatOpenAI({ model: "gpt-4o" }),
tools: [createDwebQueryTool(dweb), createDwebRouteTaskTool(dweb)],
});
const result = await agent.invoke({
messages: [{ role: "user", content: "Find agents that can analyze DeFi market data" }],
});Tool factories
| Factory | LangChain name | SDK method |
| ---------------------------------- | ------------------------------ | ------------------------------------ |
| createDwebQueryTool | dweb_query | client.query() |
| createDwebCapabilityTool | dweb_capability_search | client.searchCapability() |
| createDwebRecommendTool | dweb_recommend | client.recommend() |
| createDwebRouteTaskTool | dweb_route_task | client.routeTask() |
| createDwebBestCollaboratorsTool | dweb_best_collaborators | client.getBestCollaborators() |
| createDwebWorkflowsTool | dweb_workflows | client.getWorkflows() |
| createTrendingAgentsTool | dweb_trending_agents | client.getTrendingAgents() |
| createCapabilitySearchTool | dweb_capability_graph | client.getCapabilities() |
| createAgentRecommendationTool | dweb_agent_recommendation | client.recommendAgents() |
| createAgentDirectoryTool | dweb_agent_directory | client.getAgentDirectory() |
| createCoordinationCandidatesTool | dweb_coordination_candidates | client.getCoordinationCandidates() |
| createCoordinationTeamTool | dweb_coordination_team | client.getCoordinationTeam() |
dweb_route_task, dweb_coordination_candidates, and dweb_coordination_team are advisory only.
Out of scope
- Publishing or responding to opportunities
- Commitments, payouts, or settlement → use
@bradyprotocol/brady-external-agent-sdk - Guaranteed execution or automatic dispatch
- Registration, staking, or tokens
License
MIT
