serpent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Server host | 0.0.0.0 |
| PORT | No | Server port | 8000 |
| GITHUB_TOKEN | No | Optional token for GitHub REST API to raise rate limit from 60 to 5000 req/hour | |
| NCBI_API_KEY | No | Optional API key for PubMed (NCBI E-utilities) to raise from 3 to 10 req/sec | |
| BRAVE_API_KEY | No | Optional API key for Brave Search API (free tier: 2000 req/month) | |
| SERPER_API_KEY | No | API key for serper.dev Google provider | |
| DEFAULT_TIMEOUT | No | Default timeout in seconds | 10 |
| SERPBASE_API_KEY | No | API key for serpbase.dev Google provider | |
| ENABLED_PROVIDERS | No | Comma-separated list to restrict which providers are active (empty = all available) | |
| AGGREGATOR_TIMEOUT | No | Aggregator timeout in seconds | 15 |
| STACKEXCHANGE_API_KEY | No | Optional key for Stack Exchange API to raise limit from 300 to 10,000 req/day | |
| ALLOW_UNSTABLE_PROVIDERS | No | Allow unstable providers (best-effort ones) | false |
| MAX_RESULTS_PER_PROVIDER | No | Maximum results per provider | 10 |
| SEMANTIC_SCHOLAR_API_KEY | No | Optional API key for Semantic Scholar Graph API to raise from 1 to 10 req/sec |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_webB | Search the web using all enabled providers and return aggregated, deduplicated results with a unified schema. Good for general queries. |
| search_googleA | Search Google via a configured third-party provider (serpbase or serper). Returns structured organic results, answer boxes, and related searches. |
| search_academicB | Search academic sources (arXiv, Wikipedia). Best for research questions, paper discovery, and factual lookups. |
| search_githubC | Search GitHub repositories. Returns repo name, description, stars, language, and topics. |
| compare_enginesA | Run the same query against multiple providers and return results grouped by provider for side-by-side comparison. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
The tools are mostly distinct, with each targeting a specific search domain (academic, GitHub, Google, web) or a comparison function. However, 'search_web' and 'search_google' could be confused, as Google is a web search provider, but the descriptions clarify that 'search_web' aggregates multiple providers while 'search_google' is specific to Google. This minor overlap is mitigated by clear descriptions.
All tool names follow a consistent verb_noun pattern with snake_case, using 'search_' for four tools and 'compare_' for one. The naming is predictable and readable, with no deviations in style or convention, making it easy for agents to understand and use the tool set.
With 5 tools, the set is well-scoped for a search-focused server. Each tool serves a clear purpose (e.g., different search types and a comparison feature), and there are no extraneous tools. The count is appropriate, allowing coverage of key search domains without being overwhelming.
The tool set covers major search domains (academic, GitHub, Google, general web) and includes a useful comparison tool. Minor gaps exist, such as no tools for filtering or refining search results (e.g., by date or language), but agents can work around this with the provided tools. The surface is largely complete for a search-oriented server.