Skip to content

Commit 1dca956

Browse files
authored
fix: add resource list method to prevent client not respecting capabilities from crashing, update manifest.json for dxt (#249)
* fix: add resource list method to prevent client not respecting capabilities from crashing, update manifest.json for dxt * revert author
1 parent 492621b commit 1dca956

2 files changed

Lines changed: 25 additions & 2 deletions

File tree

manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"dxt_version": "0.1",
3-
"name": "apify-mcp-server",
3+
"name": "Apify",
44
"version": "0.4.3",
5-
"description": "Extract data from any site with Apify Store, home to thousands of web scrapers.",
5+
"description": "Extract data from any website using thousands of tools from the Apify Store.",
66
"long_description": "Apify is the world's largest marketplace of tools for web scraping, data extraction, and web automation. You can extract structured data from social media, e-commerce, search engines, maps, travel sites, or any other website.",
77
"keywords": [
88
"apify",

src/mcp/server.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import {
1111
ErrorCode,
1212
GetPromptRequestSchema,
1313
ListPromptsRequestSchema,
14+
ListResourcesRequestSchema,
15+
ListResourceTemplatesRequestSchema,
1416
ListToolsRequestSchema,
1517
McpError,
1618
ServerNotificationSchema,
@@ -56,6 +58,11 @@ export class ActorsMcpServer {
5658
{
5759
capabilities: {
5860
tools: { listChanged: true },
61+
/**
62+
* Declaring prompts even though we are not using them
63+
* to prevent clients like Claude desktop from failing.
64+
*/
65+
resources: { },
5966
prompts: { },
6067
logging: {},
6168
},
@@ -67,6 +74,10 @@ export class ActorsMcpServer {
6774
this.setupLoggingHandlers();
6875
this.setupToolHandlers();
6976
this.setupPromptHandlers();
77+
/**
78+
* We need to handle resource requests to prevent clients like Claude desktop from failing.
79+
*/
80+
this.setupResourceHandlers();
7081
}
7182

7283
/**
@@ -293,6 +304,18 @@ export class ActorsMcpServer {
293304
});
294305
}
295306

307+
private setupResourceHandlers(): void {
308+
this.server.setRequestHandler(ListResourcesRequestSchema, async () => {
309+
// No resources available, return empty response
310+
return { resources: [] };
311+
});
312+
313+
this.server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => {
314+
// No resource templates available, return empty response
315+
return { resourceTemplates: [] };
316+
});
317+
}
318+
296319
/**
297320
* Sets up MCP request handlers for prompts.
298321
*/

0 commit comments

Comments
 (0)