Discover what an MCP server offers
You inspect the negotiated catalog for tools, prompts, resources, templates, and capabilities. Your app uses server-owned identifiers instead of guessing them.
Unit example (nearest native match)
See the idea in context
mcp = AxMCPClient(AxMCPStreamableHTTPTransport(endpoint), {"namespace": "inventory"})
llm = OpenAICompatibleClient(api_key=api_key, model="gpt-5.4-mini")
program = ax(
'request:string -> answer:string "Use the inventory MCP tool."',
{"mcp": mcp},
)
try:
catalog = mcp.inspect_catalog()
print({
"tools": [tool["name"] for tool in catalog["tools"]],
"resources": catalog["resources"],
"resourceTemplates": catalog["resourceTemplates"],
})
print(program.forward(llm, {"request": "Reindex inventory."}))
finally:
mcp.close()Run itIn your own project
pip install axllm
import os
from axllm import ai, ax
llm = ai('openai', api_key=os.environ['OPENAI_API_KEY'])
classify = ax('review:string -> sentiment:class "positive, negative, neutral"')
result = classify.forward(llm, {
'review': 'Useful and boring in the best way.',
})
print('sentiment:', result['sentiment'])Set OPENAI_APIKEY in your environment before running provider-backed code.
From a clone of the ax repo:
npm run example -- python src/examples/python/mcp/native-mcp-tools.pyActive practice
Answer 2 in a row to learn this · attempt 1