# Search Cards — Trello

> Searches for cards matching the specified query. See the documentation.

- Key: `trello-search-cards`
- Type: Action (Read-only)
- Version: 0.2.7
- App: Trello (`trello`) — https://pipedream.com/apps/trello.md
- This page (HTML): https://pipedream.com/apps/trello/actions/search-cards
- Hints: read-only · open-world
- Source: https://github.com/PipedreamHQ/pipedream/blob/master/components/trello/actions/search-cards/search-cards.mjs

## Description

Searches for cards matching the specified query. [See the documentation](https://developer.atlassian.com/cloud/trello/rest/api-group-search/#api-search-get).

## Props

| Prop | Type | Required | Description |
|---|---|---|---|
| `query` | `string` | Yes | The search query with a length of 1 to 16384 characters |
| `idBoards` | `string[]` | No | The IDs of boards to search for cards in Options are loaded from the connected account. |
| `partial` | `boolean` | No | Specifying partial to be true means that Trello will search for content that starts with any of the words in query. When searching for an object titled "My Development Status Report", by default a solution is to search for "Development". If partial is enabled, a search for "dev" is possible, however, a search for "velopment" is not possible. |
| `cardFields` | `string[]` | No | all or a list of card fields to be returned in the results |
| `cardsLimit` | `integer` | No | The maximum number of cards to return. |

## Run it

**MCP**

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
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 accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_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": "trello",
      },
    },
  },
)

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: "trello-search-cards",
  arguments: {
    query: "Query",
    idBoards: ["Boards"],
  },
})
```

**TypeScript**

```ts
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: "trello-search-cards",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    trello: { authProvisionId: "apn_xxxxxxx" },
    query: "Query",
    idBoards: ["Boards"],
  },
})

console.log(result)
```

**cURL**

```bash
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": "trello-search-cards",
    "configured_props": {
      "trello": { "authProvisionId": "apn_xxxxxxx" },
      "query": "Query",
      "idBoards": ["Boards"]
    }
  }'
```

---

- App: https://pipedream.com/apps/trello.md · All apps: https://pipedream.com/apps
