Documentation Index Fetch the complete documentation index at: https://docs.nimbleway.com/llms.txt
Use this file to discover all available pages before exploring further.
Give AI agents real-time web data by connecting to Nimble through the Smithery MCP registry — no manual server configuration needed.
Smithery is an MCP registry that hosts and manages MCP server connections. The nimble/nimble-mcp package exposes all Nimble tools — search, extract, crawl, map, and agents — to any MCP-compatible client.
Prerequisites
npm install -g @smithery/cli@latest
Set environment variables:
export NIMBLE_API_KEY = "your-nimble-api-key"
Get a Nimble API key from the dashboard (free trial available).
Quick Start — CLI
Connect to the Nimble MCP server using the Smithery CLI in three steps.
Create a namespace
smithery namespace create {your-namespace}
Add the Nimble MCP server
smithery mcp add nimble/nimble-mcp --headers '{"NIMBLE_API_KEY":"Bearer your-NIMBLE_API_KEY"}'
Call tools
List available tools and call them directly from the CLI: smithery tool list {connection}
smithery tool call {connection} {tool_name} '{"key": "value"}'
Programmatic Usage
Use the @smithery/api package to connect programmatically and call Nimble tools from any TypeScript application or AI framework.
Install
npm install @smithery/api @ai-sdk/mcp @ai-sdk/anthropic ai
npm install @smithery/api @modelcontextprotocol/sdk
import Smithery from "@smithery/api"
import { createMCPClient } from "@ai-sdk/mcp"
import { generateText } from "ai"
import { anthropic } from "@ai-sdk/anthropic"
import { createConnection } from "@smithery/api/mcp"
const smithery = new Smithery ()
// Create a connection with server config
const conn = await smithery . connections . create (
"{your-namespace}" ,
{
mcpUrl: "https://nimble.run.tools" ,
headers: {
// Authorization Header: "Bearer {NIMBLE_API_KEY}" — required
"NIMBLE_API_KEY" : "Bearer your-NIMBLE_API_KEY"
},
}
)
// Connect using the returned connection ID
const { transport } = await createConnection ({
client: smithery ,
namespace: "{your-namespace}" ,
connectionId: conn . connectionId ,
})
const mcpClient = await createMCPClient ({ transport })
const tools = await mcpClient . tools ()
const { text } = await generateText ({
model: anthropic ( "claude-sonnet-4-20250514" ),
tools ,
prompt: "Use the available tools to help me." ,
})
await mcpClient . close ()
import Smithery from "@smithery/api"
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { createConnection } from "@smithery/api/mcp"
const smithery = new Smithery ()
// Create a connection with server config
const conn = await smithery . connections . create (
"{your-namespace}" ,
{
mcpUrl: "https://nimble.run.tools" ,
headers: {
// Authorization Header: "Bearer {NIMBLE_API_KEY}" — required
"NIMBLE_API_KEY" : "Bearer your-NIMBLE_API_KEY"
},
}
)
// Connect using the returned connection ID
const { transport } = await createConnection ({
client: smithery ,
namespace: "{your-namespace}" ,
connectionId: conn . connectionId ,
})
const mcpClient = new Client (
{ name: "my-app" , version: "1.0.0" },
{ capabilities: {} }
)
await mcpClient . connect ( transport )
const { tools } = await mcpClient . listTools ()
const result = await mcpClient . callTool ({
name: "tool_name" ,
arguments: { key: "value" }
})
Smithery auto-discovers all tools from the Nimble MCP server:
Tool Description searchWeb search with configurable depth and focus modes extractExtract content from any URL with rendering support mapDiscover all URLs on a website via sitemaps and link crawling crawlCrawl multiple pages with path filtering and progress tracking agentsRun pre-built extraction agents for structured data
See the Nimble MCP Server docs for the
full list of available tools and configuration options.
Next Steps
Nimble MCP Server Full MCP server setup for Cursor, Claude Desktop, and other clients
Search Web search with depth levels, filtering, and AI answers
Google ADK Use Nimble with Google ADK agents via MCP
OpenAI Use Nimble with OpenAI function calling and the Agents SDK