@reaatech/pi-bench-mcp-server 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,146 @@
1
+ /**
2
+ * MCP Server implementation for prompt-injection-bench
3
+ */
4
+ interface MCPServerConfig {
5
+ /** Server name */
6
+ name: string;
7
+ /** Server version */
8
+ version: string;
9
+ }
10
+ /**
11
+ * MCP Server for prompt-injection-bench
12
+ */
13
+ declare class BenchmarkMCPServer {
14
+ private server;
15
+ private config;
16
+ constructor(config?: Partial<MCPServerConfig>);
17
+ /**
18
+ * Get the list of available tools (exposed for testing)
19
+ */
20
+ getToolDefinitions(): Array<{
21
+ name: string;
22
+ description: string;
23
+ inputSchema: Record<string, unknown>;
24
+ }>;
25
+ /**
26
+ * Set up tool request handlers
27
+ */
28
+ private setupToolHandlers;
29
+ /**
30
+ * Handle run_benchmark tool call
31
+ */
32
+ handleRunBenchmark(args: Record<string, unknown>): Promise<{
33
+ content: Array<{
34
+ type: string;
35
+ text: string;
36
+ }>;
37
+ }>;
38
+ /**
39
+ * Handle compare_defenses tool call
40
+ */
41
+ handleCompareDefenses(args: Record<string, unknown>): Promise<{
42
+ content: Array<{
43
+ type: string;
44
+ text: string;
45
+ }>;
46
+ }>;
47
+ /**
48
+ * Handle generate_report tool call
49
+ */
50
+ handleGenerateReport(args: Record<string, unknown>): Promise<{
51
+ content: Array<{
52
+ type: string;
53
+ text: string;
54
+ }>;
55
+ }>;
56
+ /**
57
+ * Handle submit_results tool call
58
+ */
59
+ handleSubmitResults(args: Record<string, unknown>): Promise<{
60
+ content: Array<{
61
+ type: string;
62
+ text: string;
63
+ }>;
64
+ }>;
65
+ /**
66
+ * Start the MCP server
67
+ */
68
+ start(): Promise<void>;
69
+ }
70
+ /**
71
+ * Create an MCP server instance
72
+ */
73
+ declare function createMCPServer(config?: Partial<MCPServerConfig>): BenchmarkMCPServer;
74
+
75
+ /**
76
+ * Shared report normalization helpers
77
+ */
78
+ interface NormalizedReportData {
79
+ defense?: string;
80
+ version?: string;
81
+ corpusVersion?: string;
82
+ generatedAt?: string;
83
+ detectionRate: number;
84
+ falsePositiveRate: number;
85
+ totalAttacks: number;
86
+ avgLatencyMs: number;
87
+ categoryBreakdown: Record<string, {
88
+ detectionRate: number;
89
+ totalAttacks: number;
90
+ }>;
91
+ }
92
+ declare function normalizeReportData(results: unknown): NormalizedReportData;
93
+
94
+ /**
95
+ * Seed management for reproducibility
96
+ */
97
+ interface SeedConfig {
98
+ /** Base seed value */
99
+ baseSeed: number;
100
+ /** Corpus version */
101
+ corpusVersion: string;
102
+ /** Adapter versions */
103
+ adapterVersions: Record<string, string>;
104
+ }
105
+ /**
106
+ * Manage deterministic random generation
107
+ */
108
+ declare class SeedManager {
109
+ private seed;
110
+ private config;
111
+ constructor(config?: Partial<SeedConfig>);
112
+ /**
113
+ * Get the current seed
114
+ */
115
+ getSeed(): number;
116
+ /**
117
+ * Set a new seed
118
+ */
119
+ setSeed(seed: number): void;
120
+ /**
121
+ * Generate a deterministic random number
122
+ */
123
+ next(): number;
124
+ /**
125
+ * Generate a deterministic random integer in range
126
+ */
127
+ nextInt(min: number, max: number): number;
128
+ /**
129
+ * Shuffle an array deterministically
130
+ */
131
+ shuffle<T>(array: T[]): T[];
132
+ /**
133
+ * Create a hash from config for reproducibility proof
134
+ */
135
+ createReproducibilityHash(): string;
136
+ /**
137
+ * Get the full config for persistence
138
+ */
139
+ getConfig(): SeedConfig;
140
+ }
141
+ /**
142
+ * Create a seed manager instance
143
+ */
144
+ declare function createSeedManager(config?: Partial<SeedConfig>): SeedManager;
145
+
146
+ export { BenchmarkMCPServer, SeedManager, createMCPServer, createSeedManager, normalizeReportData };
@@ -0,0 +1,146 @@
1
+ /**
2
+ * MCP Server implementation for prompt-injection-bench
3
+ */
4
+ interface MCPServerConfig {
5
+ /** Server name */
6
+ name: string;
7
+ /** Server version */
8
+ version: string;
9
+ }
10
+ /**
11
+ * MCP Server for prompt-injection-bench
12
+ */
13
+ declare class BenchmarkMCPServer {
14
+ private server;
15
+ private config;
16
+ constructor(config?: Partial<MCPServerConfig>);
17
+ /**
18
+ * Get the list of available tools (exposed for testing)
19
+ */
20
+ getToolDefinitions(): Array<{
21
+ name: string;
22
+ description: string;
23
+ inputSchema: Record<string, unknown>;
24
+ }>;
25
+ /**
26
+ * Set up tool request handlers
27
+ */
28
+ private setupToolHandlers;
29
+ /**
30
+ * Handle run_benchmark tool call
31
+ */
32
+ handleRunBenchmark(args: Record<string, unknown>): Promise<{
33
+ content: Array<{
34
+ type: string;
35
+ text: string;
36
+ }>;
37
+ }>;
38
+ /**
39
+ * Handle compare_defenses tool call
40
+ */
41
+ handleCompareDefenses(args: Record<string, unknown>): Promise<{
42
+ content: Array<{
43
+ type: string;
44
+ text: string;
45
+ }>;
46
+ }>;
47
+ /**
48
+ * Handle generate_report tool call
49
+ */
50
+ handleGenerateReport(args: Record<string, unknown>): Promise<{
51
+ content: Array<{
52
+ type: string;
53
+ text: string;
54
+ }>;
55
+ }>;
56
+ /**
57
+ * Handle submit_results tool call
58
+ */
59
+ handleSubmitResults(args: Record<string, unknown>): Promise<{
60
+ content: Array<{
61
+ type: string;
62
+ text: string;
63
+ }>;
64
+ }>;
65
+ /**
66
+ * Start the MCP server
67
+ */
68
+ start(): Promise<void>;
69
+ }
70
+ /**
71
+ * Create an MCP server instance
72
+ */
73
+ declare function createMCPServer(config?: Partial<MCPServerConfig>): BenchmarkMCPServer;
74
+
75
+ /**
76
+ * Shared report normalization helpers
77
+ */
78
+ interface NormalizedReportData {
79
+ defense?: string;
80
+ version?: string;
81
+ corpusVersion?: string;
82
+ generatedAt?: string;
83
+ detectionRate: number;
84
+ falsePositiveRate: number;
85
+ totalAttacks: number;
86
+ avgLatencyMs: number;
87
+ categoryBreakdown: Record<string, {
88
+ detectionRate: number;
89
+ totalAttacks: number;
90
+ }>;
91
+ }
92
+ declare function normalizeReportData(results: unknown): NormalizedReportData;
93
+
94
+ /**
95
+ * Seed management for reproducibility
96
+ */
97
+ interface SeedConfig {
98
+ /** Base seed value */
99
+ baseSeed: number;
100
+ /** Corpus version */
101
+ corpusVersion: string;
102
+ /** Adapter versions */
103
+ adapterVersions: Record<string, string>;
104
+ }
105
+ /**
106
+ * Manage deterministic random generation
107
+ */
108
+ declare class SeedManager {
109
+ private seed;
110
+ private config;
111
+ constructor(config?: Partial<SeedConfig>);
112
+ /**
113
+ * Get the current seed
114
+ */
115
+ getSeed(): number;
116
+ /**
117
+ * Set a new seed
118
+ */
119
+ setSeed(seed: number): void;
120
+ /**
121
+ * Generate a deterministic random number
122
+ */
123
+ next(): number;
124
+ /**
125
+ * Generate a deterministic random integer in range
126
+ */
127
+ nextInt(min: number, max: number): number;
128
+ /**
129
+ * Shuffle an array deterministically
130
+ */
131
+ shuffle<T>(array: T[]): T[];
132
+ /**
133
+ * Create a hash from config for reproducibility proof
134
+ */
135
+ createReproducibilityHash(): string;
136
+ /**
137
+ * Get the full config for persistence
138
+ */
139
+ getConfig(): SeedConfig;
140
+ }
141
+ /**
142
+ * Create a seed manager instance
143
+ */
144
+ declare function createSeedManager(config?: Partial<SeedConfig>): SeedManager;
145
+
146
+ export { BenchmarkMCPServer, SeedManager, createMCPServer, createSeedManager, normalizeReportData };