@felores/mcp-video 0.5.3 → 0.5.4

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.
@@ -1,308 +0,0 @@
1
- # MCP Inspector Guide for LLMs
2
-
3
- This guide provides detailed information about using the MCP Inspector tool for testing, debugging, and validating MCP servers.
4
-
5
- ## 1. Getting Started
6
-
7
- ### Installation and Basic Usage
8
- ```bash
9
- # Run directly without installation
10
- npx mcp-inspector <server-command>
11
-
12
- # For NPM/PyPi packages
13
- npx mcp-inspector npx -y @your-package/server-name
14
-
15
- # For local development
16
- npx mcp-inspector node path/to/your/server.js
17
- npx mcp-inspector python path/to/your/server.py
18
- ```
19
-
20
- ### Server Connection Setup
21
- 1. Select appropriate transport (stdio/SSE)
22
- 2. Configure command-line arguments
23
- 3. Set required environment variables
24
- 4. Test initial connection
25
-
26
- ## 2. Core Features
27
-
28
- ### Server Connection Pane
29
- 1. Transport Selection:
30
- - stdio for local servers
31
- - SSE for network-based servers
32
- - Custom transport configuration
33
-
34
- 2. Connection Settings:
35
- - Command-line arguments
36
- - Environment variables
37
- - Connection timeouts
38
-
39
- 3. Status Monitoring:
40
- - Connection state
41
- - Protocol version
42
- - Capability negotiation
43
-
44
- ### Resources Tab
45
- 1. Resource Listing:
46
- ```typescript
47
- // Example resource listing structure
48
- {
49
- resources: [
50
- {
51
- uri: "custom://resource",
52
- name: "Resource Name",
53
- description: "Resource description",
54
- mimeType: "text/plain"
55
- }
56
- ]
57
- }
58
- ```
59
-
60
- 2. Resource Inspection:
61
- - View metadata
62
- - Examine content
63
- - Check MIME types
64
- - Test resource reading
65
-
66
- 3. Subscription Testing:
67
- - Subscribe to updates
68
- - Monitor changes
69
- - Test unsubscribe
70
-
71
- ### Prompts Tab
72
- 1. Template Inspection:
73
- ```typescript
74
- // Example prompt structure
75
- {
76
- name: "prompt-name",
77
- description: "Prompt description",
78
- arguments: [
79
- {
80
- name: "arg1",
81
- description: "Argument description",
82
- required: true
83
- }
84
- ]
85
- }
86
- ```
87
-
88
- 2. Testing Features:
89
- - View available templates
90
- - Test with custom arguments
91
- - Preview generated messages
92
- - Validate responses
93
-
94
- ### Tools Tab
95
- 1. Tool Discovery:
96
- ```typescript
97
- // Example tool listing
98
- {
99
- tools: [
100
- {
101
- name: "tool-name",
102
- description: "Tool description",
103
- inputSchema: {
104
- type: "object",
105
- properties: {
106
- // Parameter definitions
107
- }
108
- }
109
- }
110
- ]
111
- }
112
- ```
113
-
114
- 2. Testing Features:
115
- - List available tools
116
- - Validate schemas
117
- - Test execution
118
- - Monitor results
119
-
120
- ### Notifications Pane
121
- 1. Message Types:
122
- - Server logs
123
- - Error messages
124
- - Status updates
125
- - Progress notifications
126
-
127
- 2. Monitoring:
128
- - Real-time updates
129
- - Message filtering
130
- - Error tracking
131
-
132
- ## 3. Testing Workflows
133
-
134
- ### Development Workflow
135
- 1. Initial Testing:
136
- ```bash
137
- # Start Inspector with development server
138
- npx mcp-inspector npm run dev
139
- ```
140
-
141
- 2. Development Cycle:
142
- - Make code changes
143
- - Restart server
144
- - Test affected features
145
- - Monitor logs
146
- - Debug issues
147
-
148
- 3. Feature Testing:
149
- - Verify basic functionality
150
- - Test edge cases
151
- - Check error handling
152
- - Validate responses
153
-
154
- ### Resource Testing
155
- 1. Listing Verification:
156
- - Check resource discovery
157
- - Validate metadata
158
- - Test pagination
159
- - Check updates
160
-
161
- 2. Content Testing:
162
- - Read resource content
163
- - Verify MIME types
164
- - Test binary data
165
- - Check encoding
166
-
167
- 3. Subscription Testing:
168
- - Subscribe to resources
169
- - Monitor updates
170
- - Test unsubscribe
171
- - Verify notifications
172
-
173
- ### Tool Testing
174
- 1. Discovery Testing:
175
- - List available tools
176
- - Verify schemas
177
- - Check descriptions
178
- - Validate metadata
179
-
180
- 2. Execution Testing:
181
- - Test with valid inputs
182
- - Try invalid inputs
183
- - Check error handling
184
- - Monitor progress
185
- - Validate results
186
-
187
- ### Prompt Testing
188
- 1. Template Verification:
189
- - Check available prompts
190
- - Validate arguments
191
- - Test descriptions
192
- - Verify schemas
193
-
194
- 2. Generation Testing:
195
- - Test with arguments
196
- - Check message format
197
- - Validate content
198
- - Test error cases
199
-
200
- ## 4. Debugging
201
-
202
- ### Common Issues
203
- 1. Connection Problems:
204
- - Check server process
205
- - Verify transport
206
- - Monitor initialization
207
- - Check capabilities
208
-
209
- 2. Message Errors:
210
- - Validate formats
211
- - Check handlers
212
- - Monitor responses
213
- - Track errors
214
-
215
- 3. Resource Issues:
216
- - Check permissions
217
- - Verify paths
218
- - Test content types
219
- - Monitor updates
220
-
221
- ### Debugging Tools
222
- 1. Console Logging:
223
- ```typescript
224
- // Server-side logging
225
- console.error("Debug message");
226
- ```
227
-
228
- 2. Message Inspection:
229
- - View raw messages
230
- - Check formatting
231
- - Track request/response
232
- - Monitor timing
233
-
234
- 3. Error Analysis:
235
- - Stack traces
236
- - Error codes
237
- - Response validation
238
- - Context examination
239
-
240
- ## 5. Best Practices
241
-
242
- ### Testing Strategy
243
- 1. Systematic Approach:
244
- - Test core features first
245
- - Add edge cases
246
- - Verify error handling
247
- - Check performance
248
-
249
- 2. Resource Management:
250
- - Monitor memory usage
251
- - Check file handles
252
- - Verify cleanup
253
- - Test limits
254
-
255
- 3. Error Handling:
256
- - Test all error paths
257
- - Verify messages
258
- - Check recovery
259
- - Monitor cleanup
260
-
261
- ### Security Testing
262
- 1. Input Validation:
263
- - Test boundaries
264
- - Try invalid input
265
- - Check sanitization
266
- - Verify limits
267
-
268
- 2. Authentication:
269
- - Test credentials
270
- - Check permissions
271
- - Verify tokens
272
- - Monitor access
273
-
274
- 3. Resource Protection:
275
- - Test access control
276
- - Check paths
277
- - Verify isolation
278
- - Monitor usage
279
-
280
- ## 6. Performance Testing
281
-
282
- ### Response Time
283
- 1. Operation Timing:
284
- - Track latency
285
- - Monitor variance
286
- - Check thresholds
287
- - Log outliers
288
-
289
- 2. Batch Operations:
290
- - Test concurrent requests
291
- - Monitor memory
292
- - Check throughput
293
- - Verify ordering
294
-
295
- ### Resource Usage
296
- 1. Memory Monitoring:
297
- - Track allocation
298
- - Check leaks
299
- - Monitor peaks
300
- - Verify cleanup
301
-
302
- 2. Connection Management:
303
- - Test connection stability
304
- - Check timeouts
305
- - Monitor states
306
- - Verify cleanup
307
-
308
- This guide should be used as a reference when testing and debugging MCP servers using the Inspector tool. Always consider the specific requirements of your server while following these guidelines.
@@ -1,379 +0,0 @@
1
- # MCP Development Guide for LLMs
2
-
3
- This guide provides structured information for LLMs to assist in creating, modifying, and using Model Context Protocol (MCP) servers.
4
-
5
- ## 1. Core Concepts
6
-
7
- ### Protocol Overview
8
- - MCP enables standardized communication between LLM applications and integrations
9
- - Uses client-server architecture with JSON-RPC 2.0 message format
10
- - Latest protocol version: 2024-11-05
11
- - Supports stdio and SSE transports
12
-
13
- ### Key Components
14
- 1. **Hosts**: LLM applications that initiate connections (e.g., Claude Desktop)
15
- 2. **Clients**: Maintain 1:1 connections with servers
16
- 3. **Servers**: Provide context, tools, and prompts to clients
17
- 4. **Resources**: File-like data that can be read by clients
18
- 5. **Tools**: Functions that can be called by the LLM
19
- 6. **Prompts**: Pre-written templates for specific tasks
20
-
21
- ## 2. Server Implementation Guidelines
22
-
23
- ### Server Structure
24
- 1. Core Server Class:
25
- ```typescript
26
- class Server extends Protocol<ServerRequest, ServerNotification, ServerResult> {
27
- constructor(serverInfo: Implementation, options: ServerOptions)
28
- // Must implement base protocol methods
29
- }
30
- ```
31
-
32
- 2. Required Capabilities:
33
- ```typescript
34
- interface ServerCapabilities {
35
- experimental?: object;
36
- logging?: object;
37
- prompts?: { listChanged?: boolean };
38
- resources?: {
39
- subscribe?: boolean;
40
- listChanged?: boolean
41
- };
42
- tools?: { listChanged?: boolean };
43
- }
44
- ```
45
-
46
- ### Essential Implementation Steps
47
-
48
- 1. **Server Initialization**:
49
- ```typescript
50
- const server = new Server(
51
- {
52
- name: "your-server-name",
53
- version: "1.0.0"
54
- },
55
- {
56
- capabilities: {
57
- // Declare supported capabilities
58
- resources: {},
59
- tools: {},
60
- prompts: {}
61
- }
62
- }
63
- );
64
- ```
65
-
66
- 2. **Request Handlers**:
67
- ```typescript
68
- // Example tool handler
69
- server.setRequestHandler(ListToolsRequestSchema, async () => ({
70
- tools: [
71
- {
72
- name: "tool-name",
73
- description: "Tool description",
74
- inputSchema: {
75
- type: "object",
76
- properties: {
77
- // Define parameters
78
- }
79
- }
80
- }
81
- ]
82
- }));
83
- ```
84
-
85
- 3. **Transport Setup**:
86
- ```typescript
87
- const transport = new StdioServerTransport();
88
- await server.connect(transport);
89
- ```
90
-
91
- ## 3. Core Features Implementation
92
-
93
- ### Resources
94
- ```typescript
95
- interface Resource {
96
- uri: string;
97
- name: string;
98
- description?: string;
99
- mimeType?: string;
100
- }
101
-
102
- // Handler example
103
- server.setRequestHandler(ListResourcesRequestSchema, async () => ({
104
- resources: [
105
- {
106
- uri: "custom://resource",
107
- name: "Resource Name",
108
- description: "Resource description"
109
- }
110
- ]
111
- }));
112
- ```
113
-
114
- ### Tools
115
- ```typescript
116
- interface Tool {
117
- name: string;
118
- description?: string;
119
- inputSchema: {
120
- type: "object";
121
- properties?: object;
122
- required?: string[];
123
- };
124
- }
125
-
126
- // Handler example
127
- server.setRequestHandler(CallToolRequestSchema, async (request) => ({
128
- content: [
129
- {
130
- type: "text",
131
- text: "Tool execution result"
132
- }
133
- ]
134
- }));
135
- ```
136
-
137
- ### Prompts
138
- ```typescript
139
- interface Prompt {
140
- name: string;
141
- description?: string;
142
- arguments?: PromptArgument[];
143
- }
144
-
145
- // Handler example
146
- server.setRequestHandler(GetPromptRequestSchema, async (request) => ({
147
- messages: [
148
- {
149
- role: "user",
150
- content: {
151
- type: "text",
152
- text: "Prompt template"
153
- }
154
- }
155
- ]
156
- }));
157
- ```
158
-
159
- ## 4. Best Practices
160
-
161
- ### Error Handling
162
- 1. Use appropriate error codes:
163
- ```typescript
164
- enum ErrorCode {
165
- ParseError = -32700,
166
- InvalidRequest = -32600,
167
- MethodNotFound = -32601,
168
- InvalidParams = -32602,
169
- InternalError = -32603
170
- }
171
- ```
172
-
173
- 2. Tool errors should be in result:
174
- ```typescript
175
- {
176
- isError: true,
177
- content: [{
178
- type: "text",
179
- text: "Error description"
180
- }]
181
- }
182
- ```
183
-
184
- ### Security Considerations
185
- 1. Input Validation:
186
- - Validate all parameters against schemas
187
- - Sanitize file paths and system commands
188
- - Validate URLs and external identifiers
189
- - Check parameter sizes and ranges
190
-
191
- 2. Access Control:
192
- - Implement authentication where needed
193
- - Use appropriate authorization checks
194
- - Audit tool usage
195
- - Rate limit requests
196
-
197
- 3. Resource Protection:
198
- - Validate resource paths
199
- - Monitor resource usage
200
- - Implement access controls
201
- - Rate limit requests
202
-
203
- ### Message Handling
204
- 1. Request Processing:
205
- - Validate inputs thoroughly
206
- - Use type-safe schemas
207
- - Handle errors gracefully
208
- - Implement timeouts
209
-
210
- 2. Progress Reporting:
211
- - Use progress tokens for long operations
212
- - Report progress incrementally
213
- - Include total progress when known
214
-
215
- ## 5. Client Integration Guidelines
216
-
217
- ### Client Configuration
218
- ```json
219
- {
220
- "mcpServers": {
221
- "server-name": {
222
- "command": "command-to-run",
223
- "args": ["arg1", "arg2"],
224
- "env": {
225
- "ENV_VAR": "value"
226
- }
227
- }
228
- }
229
- }
230
- ```
231
-
232
- ### Environment Variables
233
- - Server inherits limited environment variables
234
- - Custom variables must be specified in config
235
- - Sensitive data should be in environment variables
236
-
237
- ## 6. Testing and Debugging
238
-
239
- ### MCP Inspector Usage
240
- 1. Start inspector with server:
241
- ```bash
242
- npx mcp-inspector your-server-command
243
- ```
244
-
245
- 2. Features to test:
246
- - Resource listing and reading
247
- - Tool execution
248
- - Prompt generation
249
- - Error handling
250
- - Progress reporting
251
-
252
- ### Common Issues
253
- 1. Connection Problems:
254
- - Check transport configuration
255
- - Verify server process is running
256
- - Check for initialization errors
257
-
258
- 2. Message Handling:
259
- - Validate message formats
260
- - Check handler implementations
261
- - Verify error responses
262
-
263
- 3. Resource Issues:
264
- - Check file permissions
265
- - Validate URI formats
266
- - Verify content types
267
-
268
- ## 7. Performance and Scaling
269
-
270
- ### Best Practices
271
- 1. Resource Management:
272
- - Cache when appropriate
273
- - Implement cleanup
274
- - Monitor memory usage
275
-
276
- 2. Request Handling:
277
- - Use appropriate timeouts
278
- - Implement rate limiting
279
- - Handle concurrent requests
280
-
281
- 3. Error Recovery:
282
- - Implement reconnection logic
283
- - Handle partial failures
284
- - Clean up resources
285
-
286
- ## 8. Documentation Requirements
287
-
288
- ### Server Documentation
289
- 1. Capabilities Documentation:
290
- - List supported features
291
- - Document configuration options
292
- - Describe environment variables
293
-
294
- 2. API Documentation:
295
- - Document all resources
296
- - Document all tools
297
- - Document all prompts
298
- - Include example usage
299
-
300
- 3. Error Documentation:
301
- - List possible error codes
302
- - Describe error conditions
303
- - Include recovery steps
304
-
305
- ### Integration Guide
306
- 1. Setup Instructions:
307
- - Installation steps
308
- - Configuration options
309
- - Environment setup
310
-
311
- 2. Usage Examples:
312
- - Basic usage patterns
313
- - Common integrations
314
- - Error handling examples
315
-
316
- ## 9. Versioning and Updates
317
-
318
- ### Version Management
319
- 1. Protocol Versioning:
320
- - Support LATEST_PROTOCOL_VERSION
321
- - Handle version negotiation
322
- - Maintain compatibility
323
-
324
- 2. Server Versioning:
325
- - Use semantic versioning
326
- - Document breaking changes
327
- - Provide migration guides
328
-
329
- ### Update Handling
330
- 1. Capability Updates:
331
- - Notify clients of changes
332
- - Handle capability negotiation
333
- - Maintain backwards compatibility
334
-
335
- 2. Resource Updates:
336
- - Handle resource changes
337
- - Notify subscribed clients
338
- - Maintain consistency
339
-
340
- ## 10. Specific Server Types
341
-
342
- ### Database Servers (like Airtable)
343
- 1. Required Capabilities:
344
- - Resources for data access
345
- - Tools for data manipulation
346
- - Prompts for common operations
347
-
348
- 2. Implementation Focus:
349
- - Connection management
350
- - Query handling
351
- - Data transformation
352
- - Error handling
353
- - Rate limiting
354
-
355
- 3. Security Considerations:
356
- - API key management
357
- - Access control
358
- - Data validation
359
- - Request sanitization
360
-
361
- 4. Tools to Implement:
362
- - List databases/bases
363
- - Create/modify tables
364
- - Query data
365
- - Update records
366
- - Delete records
367
-
368
- 5. Resource Structure:
369
- - Database schema
370
- - Table contents
371
- - Query results
372
-
373
- 6. Error Handling:
374
- - Connection errors
375
- - Query errors
376
- - Rate limit errors
377
- - Authorization errors
378
-
379
- This guide should be used as a reference when assisting with MCP server development. Always consider the specific requirements and constraints of the project while following these guidelines.