Sibyl
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GEMINI_API_KEY | No | API key for Gemini LLM provider | |
| OPENAI_API_KEY | No | API key for OpenAI LLM provider | |
| ZHIPUAI_API_KEY | No | API key for GLM (ZhipuAI) LLM provider | |
| DEEPSEEK_API_KEY | No | API key for DeepSeek LLM provider | |
| ANTHROPIC_API_KEY | No | API key for Anthropic LLM provider |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| gather_sourcesA | Keyless web retrieval: search + scrape + dedup, returning the top FULL-TEXT sources for a query WITHOUT writing an answer — so YOU (the calling model) read the evidence and reason over it yourself. Use this to research a question: call it several times with different focused sub-queries, read the numbered [Source N] blocks it returns, cross-reference them, then write the answer yourself with citations. If the sources don't contain the answer, gather more or say you don't know — do not guess. No API key required. Args: query: One focused search query (issue several calls for a multi-part question) max_sources: How many sources to return (default 10; bounded to 1-20) chars_per_source: Max characters of text per source (default 7000; bounded to 500-10000) ranker: lexical (default), flashrank (optional extra), or none (retrieval order) render_thin_pages: Send thin-page URLs to Jina Reader (default false) |
| gather_bundleA | Return a structured, keyless SourceBundle without synthesizing an answer. This is the programmatic form of gather_sources, intended for agents and pipelines that need stable evidence identifiers and retrieval provenance. Passage/source relevance defaults to the dependency-free lexical_v1 ranker. FlashRank is optional and falls back to lexical_v1 with an explicit diagnostic. Source quality remains null until a separate quality evaluator computes it. Follow diagnostics.recommended_action; only "synthesize" permits synthesis. Args: query: One focused search query max_sources: How many sources to return (default 10; bounded to 1-20) chars_per_source: Max characters per evidence passage (default 7000; bounded to 500-10000) ranker: lexical (default), flashrank (optional extra), or none (retrieval order) render_thin_pages: Send thin-page URLs to Jina Reader (default false) |
| gather_evidence | Run a bounded evidence loop while leaving planning and synthesis to the host. Start with question only. For a complex question, use the returned loop_id and call this tool again with one atomic query. Continue according to next_action. When the returned steps cover the question, call with finish=true and list the synthesis-ready E-step IDs that support the answer. Only status="ready" permits synthesis. Loops expire after ten minutes and allow at most four retrieval calls. Args: question: Original research question; use only when starting a loop loop_id: Existing loop identifier for a continuation or finish call query: One new atomic retrieval query for an existing loop finish: Validate selected steps and close the loop for synthesis supporting_step_ids: Synthesis-ready step IDs used to finish the loop max_steps: Retrieval budget for a new loop (default 3; bounded to 1-4) max_sources: Sources per retrieval call (default 10; bounded to 1-20) chars_per_source: Characters per evidence passage (default 7000) ranker: lexical (default), flashrank, or none render_thin_pages: Send thin-page URLs to Jina Reader |
| quick_searchA | Quick web search without deep analysis. Returns raw search results. Args: query: What to search for max_results: Maximum number of results (default 5) |
| read_urlA | Read and extract clean text content from a URL. Fetches the page, strips navigation/scripts/ads, and returns the main article or body text. Useful for reading a specific source in detail before or after running research(). Returns the page title, URL, and up to 8000 characters of clean text. Handles retries, anti-bot protection, and Google Cache fallback. Args: url: The full URL to read (e.g. "https://www.reuters.com/article/...") |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chriswu727/sibyl'
If you have feedback or need assistance with the MCP directory API, please join our Discord server