pse-mcp 0.1.0
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.
- package/GEMINI.md +72 -0
- package/License.md +3 -0
- package/MCP Documents/README.md +1 -0
- package/MCP Documents/mcp-client-guide.txt +736 -0
- package/MCP Documents/mcp-complete-guide.txt +522 -0
- package/MCP Documents/mcp-enhanced-instructions.md +297 -0
- package/MCP Documents/mcp-server-guide.md +415 -0
- package/MCP Documents/mcp-windows.txt +161 -0
- package/QWEN.md +207 -0
- package/README.md +220 -0
- package/dist/content-fetcher.js +36 -0
- package/dist/google-search.js +421 -0
- package/dist/services/content-extractor.service.js +195 -0
- package/dist/services/google-search.service.js +244 -0
- package/dist/types.js +1 -0
- package/dist-package/README.md +210 -0
- package/dist-package/dist/content-fetcher.js +36 -0
- package/dist-package/dist/google-search.js +420 -0
- package/dist-package/dist/services/content-extractor.service.js +195 -0
- package/dist-package/dist/services/google-search.service.js +244 -0
- package/dist-package/dist/types.js +1 -0
- package/dist-package/package-lock.json +3104 -0
- package/dist-package/package.json +23 -0
- package/license +4 -0
- package/package.json +40 -0
- package/src/google-search.ts +477 -0
- package/src/mcp.d.ts +36 -0
- package/src/services/content-extractor.service.ts +232 -0
- package/src/services/google-search.service.ts +305 -0
- package/src/types.ts +64 -0
- package/tasks.md +141 -0
- package/tsconfig.json +16 -0
package/tasks.md
ADDED
@@ -0,0 +1,141 @@
|
|
1
|
+
# Google Search MCP Server Improvement Plan
|
2
|
+
|
3
|
+
## Current Implementation
|
4
|
+
The Google Search MCP Server currently provides three tools:
|
5
|
+
1. `google_search` - Searches Google and returns relevant results
|
6
|
+
2. `extract_webpage_content` - Extracts content from a single webpage
|
7
|
+
3. `extract_multiple_webpages` - Extracts content from multiple webpages
|
8
|
+
|
9
|
+
## Improvement Roadmap
|
10
|
+
|
11
|
+
### Phase 1: Enhanced Search Capabilities
|
12
|
+
|
13
|
+
#### Task 1: Add Basic Search Filters
|
14
|
+
- [x] Add site-specific search parameter (`site:example.com`)
|
15
|
+
- [x] Add language filter parameter
|
16
|
+
- [x] Update input schema and documentation
|
17
|
+
- [x] Test functionality with different filter combinations
|
18
|
+
|
19
|
+
#### Task 2: Add Date Range Filtering
|
20
|
+
- [x] Add date range parameters (start date, end date)
|
21
|
+
- [x] Implement date formatting and validation
|
22
|
+
- [x] Update Google API query construction
|
23
|
+
- [x] Test functionality with various date ranges
|
24
|
+
|
25
|
+
#### Task 3: Add Result Type Specification
|
26
|
+
- [x] Add parameter for result type (news, images, videos)
|
27
|
+
- [x] Implement type-specific query parameters
|
28
|
+
- [x] Update result processing for each type
|
29
|
+
- [x] Test different result types
|
30
|
+
|
31
|
+
#### Task 4: Implement Pagination Support
|
32
|
+
- [x] Add pagination parameters (page number, results per page)
|
33
|
+
- [x] Implement pagination logic using Google API's `start` parameter
|
34
|
+
- [x] Add metadata about total results and current page
|
35
|
+
- [x] Test pagination functionality
|
36
|
+
|
37
|
+
#### Task 5: Add Sorting Options
|
38
|
+
- [x] Add sorting parameter (relevance, date)
|
39
|
+
- [x] Implement sort parameter handling
|
40
|
+
- [x] Test different sorting options
|
41
|
+
|
42
|
+
#### Task 6: Implement Result Categorization
|
43
|
+
- [x] Design categorization algorithm (by domain, topic, or content type)
|
44
|
+
- [x] Implement result clustering/categorization
|
45
|
+
- [x] Add category information to the response
|
46
|
+
- [x] Test categorization with various search queries
|
47
|
+
|
48
|
+
### Phase 2: Advanced Content Extraction
|
49
|
+
|
50
|
+
#### Task 7: Support Different Output Formats
|
51
|
+
- [x] Add parameter for output format (markdown, HTML, plain text)
|
52
|
+
- [x] Implement format conversion functions
|
53
|
+
- [x] Test output in different formats
|
54
|
+
|
55
|
+
#### Task 8: Add Content Summarization
|
56
|
+
- [ ] Research summarization approaches
|
57
|
+
- [ ] Implement text summarization algorithm
|
58
|
+
- [ ] Add summary to extraction results
|
59
|
+
- [ ] Test summarization with various content types
|
60
|
+
|
61
|
+
#### Task 9: Extract Specific Elements
|
62
|
+
- [ ] Add support for extracting tables
|
63
|
+
- [ ] Add support for extracting lists
|
64
|
+
- [ ] Add support for extracting code blocks
|
65
|
+
- [ ] Test specific element extraction
|
66
|
+
|
67
|
+
#### Task 10: Implement Image Extraction
|
68
|
+
- [ ] Add functionality to identify and extract images
|
69
|
+
- [ ] Process image metadata (alt text, dimensions)
|
70
|
+
- [ ] Return image URLs and metadata
|
71
|
+
- [ ] Test image extraction from various pages
|
72
|
+
|
73
|
+
#### Task 11: Add Content Translation Support
|
74
|
+
- [ ] Research translation API options
|
75
|
+
- [ ] Integrate with a translation service
|
76
|
+
- [ ] Add target language parameter
|
77
|
+
- [ ] Test translation functionality
|
78
|
+
|
79
|
+
### Phase 3: Performance and Infrastructure Improvements
|
80
|
+
|
81
|
+
#### Task 12: Implement Result Caching
|
82
|
+
- [x] Design cache structure for search results
|
83
|
+
- [x] Implement cache lookup before making new requests
|
84
|
+
- [x] Add cache expiration mechanism
|
85
|
+
- [x] Test cache hit and miss scenarios
|
86
|
+
|
87
|
+
#### Task 13: Add Content Cache Layer
|
88
|
+
- [x] Design cache structure for webpage content
|
89
|
+
- [x] Implement content cache lookup and storage
|
90
|
+
- [x] Add cache invalidation strategy
|
91
|
+
- [x] Test content caching performance
|
92
|
+
|
93
|
+
#### Task 14: Implement Rate Limiting
|
94
|
+
- [ ] Add rate limiting configuration
|
95
|
+
- [ ] Implement request throttling
|
96
|
+
- [ ] Add rate limit information in responses
|
97
|
+
- [ ] Test rate limiting behavior
|
98
|
+
|
99
|
+
#### Task 15: Add Concurrent Request Handling
|
100
|
+
- [ ] Implement batch processing for search requests
|
101
|
+
- [ ] Add parallel processing for multiple content extractions
|
102
|
+
- [ ] Optimize resource usage during concurrent operations
|
103
|
+
- [ ] Test performance with concurrent requests
|
104
|
+
|
105
|
+
#### Task 16: Support Custom User-Agent Strings
|
106
|
+
- [ ] Add user-agent parameter
|
107
|
+
- [ ] Implement user-agent validation
|
108
|
+
- [ ] Update request headers with custom user-agent
|
109
|
+
- [ ] Test different user-agent strings
|
110
|
+
|
111
|
+
#### Task 17: Add Proxy Support
|
112
|
+
- [ ] Add proxy configuration options
|
113
|
+
- [ ] Implement proxy routing for requests
|
114
|
+
- [ ] Add fallback mechanism for proxy failures
|
115
|
+
- [ ] Test proxy functionality
|
116
|
+
|
117
|
+
### Phase 4: Finalization and Documentation
|
118
|
+
|
119
|
+
#### Task 18: Comprehensive Testing
|
120
|
+
- [ ] Develop automated tests for all new features
|
121
|
+
- [ ] Perform integration testing
|
122
|
+
- [ ] Stress test with high volume of requests
|
123
|
+
- [ ] Fix any identified issues
|
124
|
+
|
125
|
+
#### Task 19: Update Documentation
|
126
|
+
- [ ] Update server documentation with new capabilities
|
127
|
+
- [ ] Create examples for each new feature
|
128
|
+
- [ ] Document best practices and recommendations
|
129
|
+
- [ ] Create troubleshooting guide
|
130
|
+
|
131
|
+
#### Task 20: Performance Optimization
|
132
|
+
- [ ] Profile and identify bottlenecks
|
133
|
+
- [ ] Optimize resource usage
|
134
|
+
- [ ] Implement additional caching if needed
|
135
|
+
- [ ] Benchmark performance improvements
|
136
|
+
|
137
|
+
## Implementation Notes
|
138
|
+
- Each task should be completed and tested independently
|
139
|
+
- Regular commits should be made after each feature is implemented
|
140
|
+
- Follow existing code patterns and naming conventions
|
141
|
+
- Maintain backward compatibility where possible
|
package/tsconfig.json
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
{
|
2
|
+
"compilerOptions": {
|
3
|
+
"target": "ES2020",
|
4
|
+
"module": "NodeNext",
|
5
|
+
"moduleResolution": "NodeNext",
|
6
|
+
"esModuleInterop": true,
|
7
|
+
"strict": true,
|
8
|
+
"outDir": "dist",
|
9
|
+
"rootDir": "src",
|
10
|
+
"skipLibCheck": true,
|
11
|
+
"allowJs": true,
|
12
|
+
"resolveJsonModule": true
|
13
|
+
},
|
14
|
+
"include": ["src/**/*"],
|
15
|
+
"exclude": ["node_modules"]
|
16
|
+
}
|