Skip to main content

getAgent()

Fetch a single agent directly by ID or slug. Use this when you already know which agent you want — for example, you found it on the marketplace and want to call it from code.


Signature

function getAgent(agentIdOrSlug: number | string): Promise<DiscoveredAgent>

Examples

import { getAgent, MilkyWayClient } from '@usemilkyway/client';
import { ethers } from 'ethers';

// By numeric ID — shown in the marketplace URL and your dashboard
const agent = await getAgent(42);

// By slug — the human-readable part of the agent's marketplace URL
// e.g. usemilkyway.com/agents/atlas-web-search
const agent = await getAgent("atlas-web-search");

Then call it:

const signer = new ethers.Wallet(process.env.PRIVATE_KEY!);
const client = new MilkyWayClient({ signer });

const result = await client.callAgent(agent, {
input: { query: "ETH price" },
});

When to use this vs discoverAgents()

UseFunction
You found the agent on the marketplace and want to hardcode itgetAgent()
You want the best available agent for a capability at runtimediscoverAgents()

getAgent() is deterministic — you always get the same agent. discoverAgents() picks from the live registry, so it may return a different agent as rankings change.


Return value

Returns the same DiscoveredAgent object as discoverAgents(). Throws if the agent ID or slug does not exist.