From 335da6fb30d1c2dcc4c773e958d6bb05c05ba301 Mon Sep 17 00:00:00 2001 From: Gnanaguru Sattanathan <32893938+avoguru@users.noreply.github.com> Date: Sun, 26 Jul 2026 09:59:23 -0700 Subject: [PATCH 1/3] feat(integrations): add Nimble as a Partner MCP Server Add Nimble (Nimbleway) to the search integrations catalog as a remote partner MCP server, alongside Tavily. Nimble authenticates with an Authorization: Bearer header, so the detail page documents Arcade's Advanced settings custom-header and header-secret flow rather than a URL-embedded API key. - Add Nimble entry to the partner-toolkits catalog - Add the search/nimble detail page (mirrors the Tavily partner page) - Add the Nimble logo - Add a changelog entry Co-Authored-By: Claude Opus 4.8 --- app/_data/partner-toolkits.ts | 15 +++ app/en/references/changelog/page.mdx | 6 ++ .../integrations/search/nimble/page.mdx | 100 ++++++++++++++++++ public/images/partners/nimble.png | Bin 0 -> 4493 bytes 4 files changed, 121 insertions(+) create mode 100644 app/en/resources/integrations/search/nimble/page.mdx create mode 100644 public/images/partners/nimble.png diff --git a/app/_data/partner-toolkits.ts b/app/_data/partner-toolkits.ts index e2779aac9..51febe670 100644 --- a/app/_data/partner-toolkits.ts +++ b/app/_data/partner-toolkits.ts @@ -39,4 +39,19 @@ export const PARTNER_TOOLKITS: PartnerToolkit[] = [ isComingSoon: false, isHidden: false, }, + { + id: "Nimble", + label: "Nimble", + category: "search", + publicIconUrl: "/images/partners/nimble.png", + isBYOC: true, + isPro: false, + isPartner: true, + type: "verified", + mcpUrl: "https://mcp.nimbleway.com/mcp", + docsLink: "https://docs.arcade.dev/en/resources/integrations/search/nimble", + relativeDocsLink: "/en/resources/integrations/search/nimble", + isComingSoon: false, + isHidden: false, + }, ]; diff --git a/app/en/references/changelog/page.mdx b/app/en/references/changelog/page.mdx index 461c0d825..ac219ae7c 100644 --- a/app/en/references/changelog/page.mdx +++ b/app/en/references/changelog/page.mdx @@ -9,6 +9,12 @@ import { Callout } from "nextra/components"; _Here's what's new at Arcade.dev!_ +## 2026-07-26 + +**Misc** + +- `[feature - 🚀]` Add Nimble as a Partner MCP Server for real-time web data in the search integrations catalog. + ## 2026-07-24 **Arcade MCP Servers** diff --git a/app/en/resources/integrations/search/nimble/page.mdx b/app/en/resources/integrations/search/nimble/page.mdx new file mode 100644 index 000000000..e7da5587c --- /dev/null +++ b/app/en/resources/integrations/search/nimble/page.mdx @@ -0,0 +1,100 @@ +--- +title: "Nimble" +description: "Search, extract, crawl, and map the web. Nimble (Nimbleway) is available in Arcade as a Partner MCP server." +--- + +import { Callout, Steps } from "nextra/components"; + +# Nimble + +This integration is a remote MCP server offered by [Nimble](https://www.nimbleway.com), an Arcade Partner. It exposes Nimble's web data platform so agents can search, extract, crawl, and map the public web. Add it to an [MCP Gateway](/guides/mcp-gateways/add-remote-servers) for central governance, authorization, and access control alongside Arcade's native servers. + +## MCP server URL + +Register the following URL in Arcade: **Servers → Add server**. Nimble authenticates with an API key sent in an `Authorization` header, so the key is stored as a header secret rather than embedded in the URL (see [Authentication](#authentication)). + +```text +https://mcp.nimbleway.com/mcp +``` + +## Authentication + +Nimble expects a bearer token in the `Authorization` header on every request. In Arcade, store the key as a header secret and reference it from a custom header, so the value never appears in the URL or in logs. + +| Field | Value | +| --- | --- | +| Header name | `Authorization` | +| Header value | `Bearer ${secret:NIMBLE_API_KEY}` | +| Secret name | `NIMBLE_API_KEY` | +| Secret value | Your Nimble API key | + +Set these under **Advanced settings → Custom headers** when you add the server. See [Add remote MCP servers](/guides/mcp-gateways/add-remote-servers#configure-advanced-settings) for the full reference. + +## What you can do + +Once you register Nimble in your Arcade project, Arcade discovers its tools automatically. They cover these capabilities: + +| Capability | What it does | +| --- | --- | +| Search | Real-time web search across multiple engines, with configurable depth and focus. | +| Extract | Pull structured content from a specific URL, with sync and async extraction. | +| Crawl | Crawl multiple pages with path filtering, subdomain control, and progress tracking. | +| Map | Discover the URLs on a site through link-following and sitemaps. | +| Templates | Run pre-built extraction templates for common websites. | + +Arcade namespaces each tool under the server ID you choose when you add the server, so tool names appear as `.` in the Playground and gateway tool picker. + +Compose these tools with Google Docs, Slack, Salesforce, GitHub, or any of Arcade's native servers in a single MCP Gateway, so an agent can research, draft, and act in one flow, with authorization and audit from Arcade's runtime. + +## Caching and cost + +Nimble's tools sit behind a cache and a memory layer. The cache stores sources, search history, and responses; the memory layer extracts key learnings after each run and feeds them into the next search plan. Together they retrieve only what an agent needs, which avoids redundant searches and the token cost they add, and refines results for a given domain over time. This behavior runs server-side at Nimble. When you call these tools through an Arcade gateway, Arcade adds per-user authorization and audit on top. + +## Add Nimble to your Arcade project + + + +### Get your Nimble API key + +Sign in to [Nimble](https://www.nimbleway.com) and open **Account settings → API keys** at [online.nimbleway.com](https://online.nimbleway.com/account-settings/api-keys). Create a key and copy it. + +### Add Nimble as a remote MCP server in Arcade + +Open the [Arcade Dashboard](https://api.arcade.dev/dashboard/servers) → **Add server**. Set: + +- **ID**: a name for the server, for example `nimble` +- **URI**: `https://mcp.nimbleway.com/mcp` + +Under **Advanced settings → Custom headers**, add the `Authorization` header and store your key as described in [Authentication](#authentication), then save. + + + See the full walkthrough in [Add remote MCP servers](/guides/mcp-gateways/add-remote-servers) for advanced settings like connection retries, header secrets, and custom headers. + + +### Verify Nimble tools + +Confirm that Arcade lists the Nimble tools for your project. They appear in the Playground for this project and in the MCP Gateway tool picker. + +### Create an MCP Gateway + +Go to **MCP Gateways → Create Gateway**. Select Nimble plus any other MCP servers you want to compose with (for example, Google Docs and Slack). Set the auth mode to **Arcade Auth** so users authenticate with their Arcade account. Copy the gateway URL. This is what your agent connects to. + + + +## Call Nimble tools from your agent + +Once you create your gateway, any MCP client that supports Streamable HTTP can use it: Cursor, Claude Desktop, VS Code, or a custom application built with the Vercel AI SDK, LangChain, or OpenAI Agents. + +```text +https://api.arcade.dev/mcp/ +``` + +Arcade handles authorization, credential handling, and audit logging at runtime. + +## Resources + +- [Nimble MCP server documentation](https://docs.nimbleway.com/integrations/mcp-server/mcp-server) +- [Nimble documentation](https://docs.nimbleway.com) +- [Add remote MCP servers to Arcade](/guides/mcp-gateways/add-remote-servers) +- [Create an MCP Gateway](/guides/mcp-gateways/create-via-dashboard) +- [Connect to MCP clients](/get-started/mcp-clients) diff --git a/public/images/partners/nimble.png b/public/images/partners/nimble.png new file mode 100644 index 0000000000000000000000000000000000000000..03c3bdf9191ab3b52b6e220425e2aeba4ce15c22 GIT binary patch literal 4493 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 literal 0 HcmV?d00001 From 2ee87affaa94b750eef7239a94a18d5d67ed33a4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 26 Jul 2026 17:02:29 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=A4=96=20Regenerate=20LLMs.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/llms.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/llms.txt b/public/llms.txt index 44d421d80..65d919e86 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -1,4 +1,4 @@ - + # Arcade @@ -248,6 +248,7 @@ Arcade delivers three capabilities. Enforce (Agent Authorization): deploy agents - [Microsoft Word](https://docs.arcade.dev/en/resources/integrations/productivity/microsoft-word): Arcade's Microsoft Word toolkit lets developers create, read, and update Word documents stored in OneDrive through Microsoft Graph. Capabilities - Create .docx documents with optional initial text, automatic .docx extension handling, folder targeting, and configurable filename… - [Miro API](https://docs.arcade.dev/en/resources/integrations/productivity/miro-api): Arcade Toolkit integrates with the Miro API, allowing developers to enhance collaborative functionalities within Miro boards. It empowers applications to add, update, or delete board items effectively while maintaining user engagement. Capabilities - Automated addition and… - [MongoDB](https://docs.arcade.dev/en/resources/integrations/databases/mongodb): The MongoDB toolkit connects Arcade to a MongoDB instance, enabling agents and tools to explore, query, and aggregate data across databases and collections. Capabilities - Discovery : Enumerate all databases in a MongoDB instance and all collections within a database,… +- [Nimble](https://docs.arcade.dev/en/resources/integrations/search/nimble): Documentation page - [PagerDuty](https://docs.arcade.dev/en/resources/integrations/development/pagerduty): PagerDuty Arcade toolkit lets LLMs interact with PagerDuty to query incidents, schedules, services, teams, and users. It enables programmatic inspection of incident state, activity feeds, on-call rosters, and configuration objects for automated diagnostics and workflow… - [PagerDuty API](https://docs.arcade.dev/en/resources/integrations/customer-support/pagerduty-api): PagerDuty's API toolkit empowers developers to seamlessly integrate and manage incident response workflows through a variety of automated tools. Designed for interaction with the PagerDuty API, it facilitates comprehensive insight into incident management and team coordination.… - [Postgres](https://docs.arcade.dev/en/resources/integrations/databases/postgres): The Arcade Postgres toolkit connects agents and tools to a PostgreSQL database, enabling schema discovery and read-only querying without any OAuth flow. Capabilities - Schema & table discovery — enumerate all schemas and tables in a database before issuing queries, ensuring… From 8c7b7d61c4ac0a79971ad1f091043187ad3d7d4c Mon Sep 17 00:00:00 2001 From: Gnanaguru Sattanathan <32893938+avoguru@users.noreply.github.com> Date: Sun, 26 Jul 2026 20:57:16 -0700 Subject: [PATCH 3/3] fix(integrations): make Nimble logo transparent for dark mode Remove the white square background from the Nimble partner logo so it renders cleanly on dark-mode catalog cards. Co-Authored-By: Claude Opus 4.8 --- public/images/partners/nimble.png | Bin 4493 -> 9443 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/public/images/partners/nimble.png b/public/images/partners/nimble.png index 03c3bdf9191ab3b52b6e220425e2aeba4ce15c22..a9dfc4ef0c54778e94ddcfb36d3c7032bb434301 100644 GIT binary patch literal 9443 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