Box ACTION
Search Content
Searches for files, folders, and web links across the user's Box content by keyword and/or metadata filters — at least one of
Query or Metadata Filters is required. Matches item names, descriptions, and file text content; trashed items are excluded. Paginates through and returns all matching results. To browse a known folder instead, use List Folder Items. See the documentation.- Action
- Read only
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Box account once, then configure and run Search Content from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "box-search-content",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
box: { authProvisionId: "apn_xxxxxxx" },
searchType: "Type",
query: "Query",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "box-search-content",
"configured_props": {
"box": { "authProvisionId": "apn_xxxxxxx" },
"searchType": "Type",
"query": "Query"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "box",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "box-search-content",
arguments: {
searchType: "Type",
query: "Query",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
searchType Type | string | Limits the search results to any items of this type. By default the API returns items that match any of these types. Optional |
query Query | string | The string to search for. This query is matched against item names, descriptions, text content of files, and various other fields of the different item types. Please see the docs Optional |
mdfilters Metadata Filters | string | A list of metadata templates to filter the search results by. e.g. [{"scope":"enterprise","templateKey":"contract","filters":{"category":"online"}}]. Please see the docs Optional |
fields Fields | string[] | A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response, e.g. id,type,name Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- box-search-content
- Version
- 0.0.12
- App
- Box
- Authentication
- OAuth
- Read-only
- Yes
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗