omnisearch-mcp 1.0.1 → 1.0.2

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/README.md CHANGED
@@ -30,7 +30,7 @@ Add to your `claude_desktop_config.json`:
30
30
  }
31
31
  ```
32
32
 
33
- > **Note:** If no API keys are provided in `env`, the server automatically defaults to zero-config public providers (DuckDuckGo, PubMed, Arxiv, Semantic Scholar).
33
+ > **Note:** If no API keys are provided in `env`, the server automatically defaults to zero-config public providers (DuckDuckGo, PubMed, Arxiv, Semantic Scholar). If you run the server locally, it also automatically loads any `.env` file present in your current working directory.
34
34
 
35
35
  ---
36
36
 
@@ -83,9 +83,11 @@ Configure any combination of API keys:
83
83
  * `EXA_API_KEY` - Exa Neural Search API
84
84
  * `PERPLEXITY_API_KEY` - Perplexity Search API
85
85
  * `PARALLEL_API_KEY` - Parallel Search API
86
- * `SERPAPI_API_KEY` - SerpAPI
87
- * `SEARXNG_BASE_URL` - Self-hosted SearXNG endpoint
86
+ * `SERPAPI_KEY` (or `SERPAPI_API_KEY`) - SerpAPI
87
+ * `SEARXNG_URL` (or `SEARXNG_BASE_URL`) - Self-hosted SearXNG endpoint
88
88
  * `GITHUB_TOKEN` - GitHub API Token (optional, raises rate limits)
89
+ * `SEMANTIC_SCHOLAR_API_KEY` - Semantic Scholar API Key (optional)
90
+ * `PUBMED_API_KEY` - PubMed / NCBI API Key (optional)
89
91
 
90
92
  ---
91
93
 
package/dist/index.js CHANGED
@@ -22,6 +22,10 @@ import {
22
22
  createYouProvider,
23
23
  webSearch
24
24
  } from "omnisearch-sdk";
25
+ try {
26
+ process.loadEnvFile();
27
+ } catch {
28
+ }
25
29
  function getActiveProviders() {
26
30
  const env = process.env;
27
31
  const providers = [];
@@ -51,16 +55,16 @@ function getActiveProviders() {
51
55
  if (env.PARALLEL_API_KEY) {
52
56
  providers.push(createParallelProvider({ apiKey: env.PARALLEL_API_KEY }));
53
57
  }
54
- if (env.SERPAPI_API_KEY) {
55
- providers.push(createSerpApiProvider({ apiKey: env.SERPAPI_API_KEY }));
58
+ if (env.SERPAPI_KEY || env.SERPAPI_API_KEY) {
59
+ providers.push(createSerpApiProvider({ apiKey: env.SERPAPI_KEY || env.SERPAPI_API_KEY }));
56
60
  }
57
- if (env.SEARXNG_BASE_URL) {
58
- providers.push(createSearXNGProvider({ baseUrl: env.SEARXNG_BASE_URL }));
61
+ if (env.SEARXNG_URL || env.SEARXNG_BASE_URL) {
62
+ providers.push(createSearXNGProvider({ baseUrl: env.SEARXNG_URL || env.SEARXNG_BASE_URL }));
59
63
  }
60
64
  providers.push(createDuckDuckGoProvider());
61
- providers.push(createPubMedProvider());
65
+ providers.push(createPubMedProvider({ apiKey: env.PUBMED_API_KEY }));
62
66
  providers.push(createArxivProvider());
63
- providers.push(createSemanticScholarProvider());
67
+ providers.push(createSemanticScholarProvider({ apiKey: env.SEMANTIC_SCHOLAR_API_KEY }));
64
68
  providers.push(createGitHubProvider({ apiKey: env.GITHUB_TOKEN || env.GITHUB_API_KEY }));
65
69
  return providers;
66
70
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnisearch-mcp",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Model Context Protocol server for OmniSearch SDK",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@modelcontextprotocol/sdk": "^1.6.1",
18
- "omnisearch-sdk": "5.0.1"
18
+ "omnisearch-sdk": "5.1.0"
19
19
  },
20
20
  "devDependencies": {
21
21
  "tsup": "^8.5.1",