Skip to content

Commit cbd8e68

Browse files
committed
Improve error reporting in MCP server
Closes #129
1 parent 41983c6 commit cbd8e68

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

src/services/mcp/no-vscode/server.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ server.registerTool('run-query', { title: 'Run a query', description: 'Run a que
2929
return {
3030
content: [{
3131
type: 'text',
32-
text: `Error in 'run-query': ${(String(error))}`
32+
text: String(error)
3333
}],
3434
isError: true
3535
};
@@ -38,7 +38,7 @@ server.registerTool('run-query', { title: 'Run a query', description: 'Run a que
3838

3939
server.registerResource(
4040
"tables",
41-
new ResourceTemplate("db://tables", { list: undefined }),
41+
"db://tables",
4242
{ title: 'Get tables', description: 'Get list of tables in current database' },
4343
async (uri) => {
4444
try {
@@ -53,8 +53,9 @@ server.registerResource(
5353
return {
5454
contents: [{
5555
uri: uri.href,
56-
text: `Error in 'tables' resource: ${(error as Error).message}`
57-
}]
56+
text: `Error in 'tables' resource: ${String(error)}`
57+
}],
58+
isError: true
5859
};
5960
}
6061
},
@@ -70,7 +71,8 @@ server.registerResource(
7071
contents: [{
7172
uri: uri.href,
7273
text: "Error in 'schema' resource: Invalid table name"
73-
}]
74+
}],
75+
isError: true
7476
};
7577
}
7678

@@ -86,19 +88,21 @@ server.registerResource(
8688
return {
8789
contents: [{
8890
uri: uri.href,
89-
text: `Error in 'schema' resource: ${(error as Error).message}`
90-
}]
91+
text: `Error in 'schema' resource: ${String(error)}`
92+
}],
93+
isError: true
9194
};
9295
}
9396
},
9497
);
9598

9699
async function main() {
97100
const transport = new StdioServerTransport();
98-
server.connect(transport)
101+
await server.connect(transport);
99102
}
100103

101104
main().catch((error) => {
105+
console.error('Failed to start MCP server:', error);
102106
process.exit(1);
103107
});
104108

@@ -140,8 +144,8 @@ async function executeQuery(query: string): Promise<any> {
140144
body: JSON.stringify({ query })
141145
});
142146
if (!resp.ok) {
143-
const errorData = await resp.json().catch(() => ({ error: 'Unknown error' }));
144-
throw new Error(String(errorData) || 'Could not execute query');
147+
const errorData = await resp.json().catch(() => ({ message: 'Unknown DevDb MCP error' }));
148+
throw new Error((errorData as { message: string }).message);
145149
}
146150
const { result } = await resp.json() as { result: any };
147151
return result;

0 commit comments

Comments
 (0)