Skip to content

Commit 00421fc

Browse files
committed
some clean up
1 parent 988a8f8 commit 00421fc

File tree

5 files changed

+4
-133
lines changed

5 files changed

+4
-133
lines changed

src/checks/server.ts

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1 @@
11
import { ConformanceCheck, CheckStatus } from '../types.js';
2-
3-
export function createServerInitializationCheck(initializeResponse: any, expectedSpecVersion: string = '2025-06-18'): ConformanceCheck {
4-
const result = initializeResponse?.result;
5-
const protocolVersion = result?.protocolVersion;
6-
const serverInfo = result?.serverInfo;
7-
const capabilities = result?.capabilities;
8-
9-
const errors: string[] = [];
10-
if (!initializeResponse?.jsonrpc) errors.push('Missing jsonrpc field');
11-
if (!initializeResponse?.id) errors.push('Missing id field');
12-
if (!result) errors.push('Missing result field');
13-
if (!protocolVersion) errors.push('Missing protocolVersion in result');
14-
if (protocolVersion !== expectedSpecVersion)
15-
errors.push(`Protocol version mismatch: expected ${expectedSpecVersion}, got ${protocolVersion}`);
16-
if (!serverInfo) errors.push('Missing serverInfo in result');
17-
if (!serverInfo?.name) errors.push('Missing server name in serverInfo');
18-
if (!serverInfo?.version) errors.push('Missing server version in serverInfo');
19-
if (capabilities === undefined) errors.push('Missing capabilities in result');
20-
21-
const status: CheckStatus = errors.length === 0 ? 'SUCCESS' : 'FAILURE';
22-
23-
return {
24-
id: 'mcp-server-initialization',
25-
name: 'MCPServerInitialization',
26-
description: 'Validates that MCP server properly responds to initialize request',
27-
status,
28-
timestamp: new Date().toISOString(),
29-
specReferences: [{ id: 'MCP-Lifecycle', url: 'https://modelcontextprotocol.io/specification/2025-06-18/basic/lifecycle' }],
30-
details: {
31-
expectedSpecVersion,
32-
response: initializeResponse
33-
},
34-
errorMessage: errors.length > 0 ? errors.join('; ') : undefined,
35-
logs: errors.length > 0 ? errors : undefined
36-
};
37-
}

src/scenarios/client/tools_call.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
22
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
33
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
44
import type { Scenario, ConformanceCheck } from '../../types.js';
5-
import express from 'express';
5+
import express, { Request, Response, NextFunction } from 'express';
66
import { ScenarioUrls } from '../../types.js';
77

88
function createServer(checks: ConformanceCheck[]): express.Application {
@@ -83,7 +83,7 @@ function createServer(checks: ConformanceCheck[]): express.Application {
8383
const app = express();
8484
app.use(express.json());
8585

86-
app.use((req, res, next) => {
86+
app.use((req: Request, res: Response, next: NextFunction) => {
8787
// Log incoming requests for debugging
8888
// console.log(`Incoming request: ${req.method} ${req.url}`);
8989
checks.push({
@@ -111,7 +111,7 @@ function createServer(checks: ConformanceCheck[]): express.Application {
111111
});
112112
});
113113

114-
app.post('/mcp', async (req, res) => {
114+
app.post('/mcp', async (req: Request, res: Response) => {
115115
const transport = new StreamableHTTPServerTransport({
116116
sessionIdGenerator: undefined
117117
});

src/scenarios/index.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import { Scenario, ClientScenario } from '../types.js';
22
import { InitializeScenario } from './client/initialize.js';
33
import { ToolsCallScenario } from './client/tools_call.js';
4-
import { ServerInitializeClientScenario } from './server/server_initialize.js';
54

65
// Import all new server test scenarios
76
import {
8-
ServerInitializeScenario,
9-
ServerInitializeCapabilitiesScenario
7+
ServerInitializeScenario
108
} from './server/lifecycle.js';
119

1210
import {
@@ -51,12 +49,8 @@ export const scenarios = new Map<string, Scenario>([
5149
]);
5250

5351
export const clientScenarios = new Map<string, ClientScenario>([
54-
// Legacy
55-
['initialize', new ServerInitializeClientScenario()],
56-
5752
// Lifecycle scenarios
5853
['server-initialize', new ServerInitializeScenario()],
59-
['server-initialize-capabilities', new ServerInitializeCapabilitiesScenario()],
6054

6155
// Utilities scenarios
6256
['logging-set-level', new LoggingSetLevelScenario()],

src/scenarios/server/lifecycle.ts

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -52,51 +52,3 @@ export class ServerInitializeScenario implements ClientScenario {
5252
return checks;
5353
}
5454
}
55-
56-
export class ServerInitializeCapabilitiesScenario implements ClientScenario {
57-
name = 'server-initialize-capabilities';
58-
description = 'Test server advertising all its capabilities';
59-
60-
async run(serverUrl: string): Promise<ConformanceCheck[]> {
61-
const checks: ConformanceCheck[] = [];
62-
63-
try {
64-
const connection = await connectToServer(serverUrl);
65-
66-
// Get server capabilities from the connection
67-
// Note: The SDK should expose this, for now we'll just verify connection works
68-
checks.push({
69-
id: 'server-initialize-capabilities',
70-
name: 'ServerInitializeCapabilities',
71-
description: 'Server declares its capabilities correctly',
72-
status: 'SUCCESS',
73-
timestamp: new Date().toISOString(),
74-
specReferences: [{
75-
id: 'MCP-Capabilities',
76-
url: 'https://modelcontextprotocol.io/specification/2025-06-18/architecture/index#capability-negotiation'
77-
}],
78-
details: {
79-
serverUrl,
80-
note: 'Capabilities verified through successful connection'
81-
}
82-
});
83-
84-
await connection.close();
85-
} catch (error) {
86-
checks.push({
87-
id: 'server-initialize-capabilities',
88-
name: 'ServerInitializeCapabilities',
89-
description: 'Server declares its capabilities correctly',
90-
status: 'FAILURE',
91-
timestamp: new Date().toISOString(),
92-
errorMessage: `Failed: ${error instanceof Error ? error.message : String(error)}`,
93-
specReferences: [{
94-
id: 'MCP-Capabilities',
95-
url: 'https://modelcontextprotocol.io/specification/2025-06-18/architecture/index#capability-negotiation'
96-
}]
97-
});
98-
}
99-
100-
return checks;
101-
}
102-
}

test-tool-call.ts

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)