# Raven Tools — Pipedream Connect

> The Raven Tools Link Manager is the tool every whitehat backlink campaign manager needs. Store, organize, and find thousands of link opportunities. Monitor the links you lose and the links you receive.

- API slug: `raven_tools` (use in MCP headers and tool keys)
- Auth: API key (Pipedream-managed)
- Categories: Data Analytics
- Website: https://raventools.com
- This page (HTML): https://pipedream.com/apps/raven-tools
- Tools: 1 action · 2 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: raven_tools`

```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": "raven_tools",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Add Keyword:
const result = await mcp.callTool({
  name: "raven_tools-add-keyword",
  arguments: {
    domain: "Domain",
    keyword: "Keyword",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Raven Tools endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.raventools.com/api

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkucmF2ZW50b29scy5jb20vYXBp?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```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: "raven_tools-add-keyword",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    raven_tools: { authProvisionId: "apn_xxxxxxx" },
    domain: "Domain",
    keyword: "Keyword",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (1)

### `raven_tools-add-keyword` — Add Keyword (Write)

Add a keyword to a domain See docs here

Full schema: https://pipedream.com/apps/raven-tools/actions/add-keyword.md

## Triggers (2)

### `raven_tools-domain-added` — New Domain Added (Polling)

Emit new event when a domain is added See docs here

Full schema: https://pipedream.com/apps/raven-tools/triggers/domain-added.md

### `raven_tools-keyword-added` — New Keyword Added (Polling)

Emit new event for each keyword added to a domain See docs here

Full schema: https://pipedream.com/apps/raven-tools/triggers/keyword-added.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
