crepe-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CREPE_TAVILY_API_KEY | No | Enables web_search via Tavily; graceful warning if absent | |
| CREPE_LIBREOFFICE_PATH | No | Path to a soffice/libreoffice executable, overriding auto-detection. Required on Linux only if auto-detection fails. | |
| CREPE_ASPOSE_LICENSE_PATH | No | Path to Aspose .lic file for watermark-free PPTX→PNG export on the aspose fallback path. Evaluation mode used if unset. | |
| CREPE_HEADLESS_BROWSER_PATH | No | Path to Chromium-compatible browser for fetch_webpage. Falls back to urllib if unset. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_presentationA | Create a new, empty presentation; returns presentation_id, required by every other Group-A tool. All title-slide metadata is set here: title, optional subtitle, author, institute, date. |
| get_presentationA | Return a presentation's metadata, ordered slide list (index, id, title, 200-char content preview), and which compiled artifacts exist. |
| get_slideA | Return the full content of a single slide by its zero-based index. |
| set_slideA | Add, replace, or insert a slide. insert=False (default): index < slide count -> replace in place; index >= slide count -> append. insert=True: inserts at index, shifting that slide and everything after it later (index >= slide count still appends). Combine with delete_slide to move a slide to a new position.
expected_slide_count : optional. If a concurrent call already changed the deck since you last checked, this fails with a clear error instead of silently landing at an unintended position -- get_presentation to refresh, then retry. Recommended when issuing several set_slide calls for the same presentation without waiting for each result first. |
| delete_slideA | Remove a slide by index. Slides after it shift down by one. expected_slide_count : optional, same stale-state guard as set_slide. |
| update_presentation_metadataA | Update title-slide metadata (title/subtitle/author/institute/date) on an existing presentation. Only fields given a value are changed. |
| list_presentationsA | List every presentation currently held in memory. |
| export_presentation_sourceA | Return the pandoc source (slides Markdown + config.yml) this presentation compiles from. output_dir : if given (absolute path), also writes slides.md/config.yml there. theme/highlight_style : same meaning as compile_presentation. |
| import_presentation_sourceA | Replace a presentation's slides by parsing pandoc slide Markdown. Splits on '##' (slide) and bare '#' (section-divider) headings, ignoring '#' inside fenced code blocks. presentation_id must already exist. Every slide it currently has is replaced; metadata is untouched. Exactly one of markdown (inline content) or source_path (absolute path to a .md file) must be given. |
| compile_presentationA | Compile the in-memory presentation to PDF or PPTX, writing directly to output_path (absolute). Call render_slides_as_pngs afterwards to validate visually. format : 'pdf' (Beamer/lualatex) or 'pptx' (PowerPoint). theme : any Beamer theme name installed on this system (PDF only), default 'moloch'. highlight_style : code highlight style, default 'tango'. reference_doc : path to a .pptx template (PPTX only, optional). |
| render_slides_as_pngsA | Convert a compiled artifact to a numbered PNG sequence for visual validation. format must match a previously compiled artifact. |
| cleanup_presentationB | Delete a presentation's in-memory state and on-disk scratch dir. |
| academic_searchA | Search Semantic Scholar for academic papers. No API key required. Returns up to |
| web_searchA | Search the web via the Tavily API. Requires CREPE_TAVILY_API_KEY in the environment. Returns an empty result with a warning field (not an error) if the key is absent, so the agent can surface the message gracefully. |
| wikipedia_searchA | Search Wikipedia and return matching article titles, URLs, and excerpts. Pass the returned title to wikipedia_read to fetch the full article. |
| wikipedia_readA | Fetch the full plain-text body of a Wikipedia article.
|
| fetch_webpageA | Extract readable plain text from a URL (http/https only). Uses the browser at CREPE_HEADLESS_BROWSER_PATH (--headless=new --dump-dom) if set, else falls back to urllib + HTML stripping with a warning. |
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/mariolpantunes/crepe-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server