Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 24 additions & 9 deletions modelcontextprotocol/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
# Pipedream MCP Server

This is a reference implementation of the Pipedream MCP server. You can run **your own MCP server** for [over 2,700 apps and APIs](https://pipedream.com/apps) and is powered by [Pipedream Connect](https://pipedream.com/docs/connect/).
> **⚠️ Important Notice**: This MCP server is a **reference implementation only** and is no longer actively maintained. For production use, we recommend using Pipedream's **remote MCP server** instead.

> [Note]
> These docs discuss how you can host Pipedream's MCP server in your own app or run it locally. To use Pipedream's [remote MCP server](https://pipedream.com/docs/connect/mcp/developers) (most common), [refer to our docs](https://pipedream.com/docs/connect/mcp/developers) to get started.
## Recommended: Use Pipedream's Remote MCP Server

For the best experience, use Pipedream's hosted MCP server which provides:

- **2,800+ APIs and 10,000+ tools** through a single server
- **Built-in authentication** - no manual token management required
- **Multiple tool modes**: sub-agent and full configuration
- **Automatic app discovery**
- **Enterprise-grade reliability** and security

**🚀 Get started**: [Pipedream MCP Documentation](https://pipedream.com/docs/connect/mcp/developers)

> **🎮 Try it now**: Check out our [open source chat app](https://github.com/PipedreamHQ/mcp) at [chat.pipedream.com](https://chat.pipedream.com/)

---

## Self-Hosting (Reference Implementation)

This reference implementation shows how you can:

Expand All @@ -12,14 +27,14 @@ This reference implementation shows how you can:

See the consumer-facing MCP server in action at [mcp.pipedream.com](https://mcp.pipedream.com) and check out a demo of the developer-facing product at [chat.pipedream.com](https://chat.pipedream.com).

We published this code as a reference, so you can better understand how to use Pipedream Connect for such
an application. This is a reference implementation specifically for self-hosting the server and may not be fully documented. Please reach out to us if you
have any questions.
We published this code as a reference, so you can better understand how to use Pipedream Connect for such an application. This is a reference implementation specifically for self-hosting the server and may not be fully documented.

**For production use, we strongly recommend using our [remote MCP server](https://pipedream.com/docs/connect/mcp/developers) instead.**

## ⭐ Features
## ⭐ Reference Implementation Features

- Run **your own MCP server** for [over 2,700 apps and APIs](https://mcp.pipedream.com)
- Manage servers **for your users**, in your own app.
- Run **your own MCP server** for [over 2,800 apps and APIs](https://mcp.pipedream.com)
- Manage servers **for your users**, in your own app
- Connect accounts, configure params, and make API requests, all via tools
- Fully-managed OAuth and credential storage ([see security docs](https://pipedream.com/docs/privacy-and-security/#third-party-oauth-grants-api-keys-and-environment-variables))

Expand Down
10 changes: 9 additions & 1 deletion packages/sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

# Changelog

## [1.8.0] - 2025-08-13

### Added

- Added `categoryIds` parameter to `getApps` method for filtering
apps by category IDs
- Added `getAppCategories` method to retrieve available app categories

## [1.7.0] - 2025-07-03

### Added
Expand Down Expand Up @@ -41,7 +49,7 @@

- Added `endpoint_url` field to the component metadata, providing the URL to the
HTTP interface of the component.
- Added missing pagination fields to the `GetComponentsResponse` and
- Added missing pagination fields to the `GetComponentsResponse` and
`GetAccountsResponse` types.

## [1.6.7] - 2025-06-06
Expand Down
2 changes: 1 addition & 1 deletion packages/sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@pipedream/sdk",
"type": "module",
"version": "1.7.0",
"version": "1.8.0",
"description": "Pipedream SDK",
"main": "./dist/server.js",
"module": "./dist/server.js",
Expand Down
49 changes: 49 additions & 0 deletions packages/sdk/src/shared/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,31 @@ export type App = AppInfo & {
*/
export type AppResponse = App;

/**
* App category data returned from the API.
*/
export type AppCategory = {
/**
* The unique ID of the category.
*/
id: string;

/**
* The name of the category.
*/
name: string;

/**
* A description of the category.
*/
description: string;
};

/**
* The response received when retrieving app categories.
*/
export type GetAppCategoriesResponse = AppCategory[];

/**
* A configuration option for a component's prop.
*/
Expand Down Expand Up @@ -255,6 +280,10 @@ export type GetAppsOpts = RelationOpts & {
* Filter by whether apps have triggers in the component registry.
*/
hasTriggers?: boolean;
/**
* Filter apps by category IDs (format: appcat_[a-zA-Z0-9]+).
*/
categoryIds?: string[];
/**
* The key to sort the apps by.
*
Expand Down Expand Up @@ -1190,6 +1219,9 @@ export abstract class BaseClient {
? "1"
: "0";
}
if (opts?.categoryIds && opts.categoryIds.length > 0) {
params.category_ids = opts.categoryIds.join(",");
}
if (opts?.sortKey) {
params.sort_key = opts.sortKey;
}
Expand Down Expand Up @@ -1240,6 +1272,23 @@ export abstract class BaseClient {
return this.getApp(idOrNameSlug);
}

/**
* Retrieves the list of app categories available in Pipedream.
*
* @returns A promise resolving to a list of app categories.
*
* @example
* ```typescript
* const categories = await client.getAppCategories();
* console.log(categories);
* ```
*/
public getAppCategories() {
return this.makeAuthorizedRequest<GetAppCategoriesResponse>("/connect/app_categories", {
method: "GET",
});
}

/**
* Retrieves the list of components available in Pipedream.
*
Expand Down
19 changes: 13 additions & 6 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading