Skip to content

Commit 3666335

Browse files
Adding app categories arg and method to sdk (#18037)
* Adding app categories arg and method to sdk * Update CHANGELOG.md * Update README.md * Update README.md * Update README.md
1 parent 041fec0 commit 3666335

File tree

5 files changed

+97
-18
lines changed

5 files changed

+97
-18
lines changed

modelcontextprotocol/README.md

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
# Pipedream MCP Server
22

3-
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/).
3+
> **⚠️ 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.
44
5-
> [Note]
6-
> 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.
5+
## Recommended: Use Pipedream's Remote MCP Server
6+
7+
For the best experience, use Pipedream's hosted MCP server which provides:
8+
9+
- **2,800+ APIs and 10,000+ tools** through a single server
10+
- **Built-in authentication**: no manual token management required
11+
- **Multiple tool modes**: sub-agent and full configuration
12+
- **Automatic app discovery**
13+
- **Enterprise-grade reliability and security**
14+
15+
**🚀 Get started**: [Pipedream MCP Documentation](https://pipedream.com/docs/connect/mcp/developers)
16+
17+
> **🎮 Try it now**: Check out our [open source chat app](https://github.com/PipedreamHQ/mcp) at [chat.pipedream.com](https://chat.pipedream.com/)
18+
19+
---
20+
21+
## Self-Hosting (Reference Implementation)
722

823
This reference implementation shows how you can:
924

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

1328
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).
1429

15-
We published this code as a reference, so you can better understand how to use Pipedream Connect for such
16-
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
17-
have any questions.
30+
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.
31+
32+
**For production use, we strongly recommend using our [remote MCP server](https://pipedream.com/docs/connect/mcp/developers) instead.**
1833

19-
## ⭐ Features
34+
## Reference Implementation Features
2035

21-
- Run **your own MCP server** for [over 2,700 apps and APIs](https://mcp.pipedream.com)
22-
- Manage servers **for your users**, in your own app.
36+
- Run **your own MCP server** for [over 2,800 apps and APIs](https://mcp.pipedream.com)
37+
- Manage servers **for your users**, in your own app
2338
- Connect accounts, configure params, and make API requests, all via tools
2439
- 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))
2540

@@ -54,7 +69,7 @@ There are two ways to use this MCP server.
5469

5570
1 - App specific
5671
`/{external_user_id}/{app}`
57-
This is currently available at [mcp.pipedream.com](mcp.pipedream.com). You can use an endpoint for each app.
72+
This is currently available at [mcp.pipedream.com](https://mcp.pipedream.com). You can use an endpoint for each app.
5873
All the tools available for that app will be available at that endpoint.
5974

6075
2 - Dynamic

packages/sdk/CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
# Changelog
44

5+
## [1.8.0] - 2025-08-13
6+
7+
### Added
8+
9+
- Added `categoryIds` parameter to `getApps` method for filtering
10+
apps by category IDs
11+
- Added `getAppCategories` method to retrieve available app categories
12+
513
## [1.7.0] - 2025-07-03
614

715
### Added
@@ -41,7 +49,7 @@
4149

4250
- Added `endpoint_url` field to the component metadata, providing the URL to the
4351
HTTP interface of the component.
44-
- Added missing pagination fields to the `GetComponentsResponse` and
52+
- Added missing pagination fields to the `GetComponentsResponse` and
4553
`GetAccountsResponse` types.
4654

4755
## [1.6.7] - 2025-06-06

packages/sdk/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@pipedream/sdk",
33
"type": "module",
4-
"version": "1.7.0",
4+
"version": "1.8.0",
55
"description": "Pipedream SDK",
66
"main": "./dist/server.js",
77
"module": "./dist/server.js",

packages/sdk/src/shared/index.ts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,31 @@ export type App = AppInfo & {
126126
*/
127127
export type AppResponse = App;
128128

129+
/**
130+
* App category data returned from the API.
131+
*/
132+
export type AppCategory = {
133+
/**
134+
* The unique ID of the category.
135+
*/
136+
id: string;
137+
138+
/**
139+
* The name of the category.
140+
*/
141+
name: string;
142+
143+
/**
144+
* A description of the category.
145+
*/
146+
description: string;
147+
};
148+
149+
/**
150+
* The response received when retrieving app categories.
151+
*/
152+
export type GetAppCategoriesResponse = AppCategory[];
153+
129154
/**
130155
* A configuration option for a component's prop.
131156
*/
@@ -255,6 +280,10 @@ export type GetAppsOpts = RelationOpts & {
255280
* Filter by whether apps have triggers in the component registry.
256281
*/
257282
hasTriggers?: boolean;
283+
/**
284+
* Filter apps by category IDs (format: appcat_[a-zA-Z0-9]+).
285+
*/
286+
categoryIds?: string[];
258287
/**
259288
* The key to sort the apps by.
260289
*
@@ -1190,6 +1219,9 @@ export abstract class BaseClient {
11901219
? "1"
11911220
: "0";
11921221
}
1222+
if (opts?.categoryIds && opts.categoryIds.length > 0) {
1223+
params.category_ids = opts.categoryIds.join(",");
1224+
}
11931225
if (opts?.sortKey) {
11941226
params.sort_key = opts.sortKey;
11951227
}
@@ -1240,6 +1272,23 @@ export abstract class BaseClient {
12401272
return this.getApp(idOrNameSlug);
12411273
}
12421274

1275+
/**
1276+
* Retrieves the list of app categories available in Pipedream.
1277+
*
1278+
* @returns A promise resolving to a list of app categories.
1279+
*
1280+
* @example
1281+
* ```typescript
1282+
* const categories = await client.getAppCategories();
1283+
* console.log(categories);
1284+
* ```
1285+
*/
1286+
public getAppCategories() {
1287+
return this.makeAuthorizedRequest<GetAppCategoriesResponse>("/connect/app_categories", {
1288+
method: "GET",
1289+
});
1290+
}
1291+
12431292
/**
12441293
* Retrieves the list of components available in Pipedream.
12451294
*

pnpm-lock.yaml

Lines changed: 13 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)