AnythingLLM MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANYTHINGLLM_API_KEY | Yes | API key for authenticating with AnythingLLM. | |
| ANYTHINGLLM_BASE_URL | No | Base URL of your AnythingLLM instance. | http://localhost:3001 |
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 |
|---|---|
| anythingllm_check_authA | Verify that the API key is valid and AnythingLLM is reachable. |
| anythingllm_list_workspacesA | List all workspaces in the AnythingLLM instance with their slugs, settings, and thread info. |
| anythingllm_get_workspaceA | Get detailed information about a specific workspace. Args: slug: Workspace slug (e.g. 'papers', 'lands') |
| anythingllm_create_workspaceB | Create a new workspace. Args: name: Name for the new workspace |
| anythingllm_update_workspaceA | Update workspace settings (name, temperature, prompt, similarity threshold, etc.). Args: slug: Workspace slug to update name: New workspace name openAiTemp: LLM temperature (0.0-1.0) openAiHistory: Chat history length (0-100) openAiPrompt: System prompt override similarityThreshold: Similarity threshold (0.0-1.0) topN: Top N results for context (1-20) chatMode: Chat mode: 'chat' or 'query' |
| anythingllm_delete_workspaceA | Permanently delete a workspace. This action cannot be undone. Args: slug: Workspace slug to delete |
| anythingllm_chatA | Send a message to a workspace and get a response. Mode 'chat' uses document context + conversation history. Mode 'query' uses only document context (no history). Args: slug: Workspace slug message: Message to send mode: 'chat' (context + history) or 'query' (documents only) |
| anythingllm_get_chat_historyA | Get the chat history for a workspace. Args: slug: Workspace slug |
| anythingllm_create_threadA | Create a new chat thread within a workspace. Args: slug: Workspace slug name: Optional thread name |
| anythingllm_delete_threadA | Delete a chat thread from a workspace. Args: slug: Workspace slug thread_slug: Thread slug to delete |
| anythingllm_update_threadA | Update the name of an existing chat thread. Args: slug: Workspace slug. thread_slug: Thread slug to update. name: New name for the thread. |
| anythingllm_chat_in_threadB | Send a message within a specific workspace thread. Args: slug: Workspace slug thread_slug: Thread slug message: Message to send mode: 'chat' or 'query' |
| anythingllm_get_thread_chatsA | Get chat history for a specific thread in a workspace. Args: slug: Workspace slug thread_slug: Thread slug |
| anythingllm_list_documentsA | List all uploaded documents across all folders. |
| anythingllm_get_accepted_file_typesA | Get the list of file types that AnythingLLM accepts for upload. |
| anythingllm_upload_linkA | Scrape a web page and upload it as a document to AnythingLLM. Args: link: URL to scrape (must start with http:// or https://) |
| anythingllm_upload_fileC | Upload a file from the local filesystem to AnythingLLM. Args: file_path: Absolute path to the file on the local filesystem. |
| anythingllm_upload_raw_textA | Upload raw text content as a document to AnythingLLM. Args: text_content: Raw text content to upload title: Document title |
| anythingllm_upload_file_to_folderA | Upload a file from the local filesystem into a specific document folder in AnythingLLM. Args: file_path: Absolute path to the file on the local filesystem. folder_name: Target folder name in AnythingLLM (must already exist). |
| anythingllm_list_documents_in_folderA | List all documents inside a specific folder. Args: folder_name: Folder name to list documents from. |
| anythingllm_get_documentA | Get metadata and details for a specific document by its stored name. The doc_name is the internal document identifier returned by list_documents (e.g. 'custom-documents/myfile.pdf-abc123.json'). Args: doc_name: Document name/path as returned by the documents API. |
| anythingllm_get_document_metadata_schemaA | Get the metadata schema that AnythingLLM uses for documents. |
| anythingllm_create_folderC | Create a new document folder in AnythingLLM. Args: name: Name for the new folder. |
| anythingllm_remove_folderA | Permanently delete a document folder and all its contents. Args: name: Folder name to delete. |
| anythingllm_move_filesA | Move documents between folders. Each entry in 'files' must have 'from' and 'to' keys with document paths as returned by list_documents (e.g. 'custom-documents/file.pdf-uuid.json'). Args: files: List of move operations, each with 'from' and 'to' path strings. Example: [{"from": "custom-documents/a.pdf-uuid.json", "to": "custom-documents/my-folder/a.pdf-uuid.json"}] |
| anythingllm_update_embeddingsA | Embed or un-embed documents in a workspace (equivalent to "Save and Embed" in the UI). This is the final step after uploading documents to AnythingLLM storage. Typical workflow:
Once embedded, the document's content is vectorized and available for RAG queries in the workspace. Removing (via 'deletes') un-embeds the document from the workspace but does NOT delete it from storage. Args: slug: Workspace slug where documents will be embedded. adds: Document paths to embed, as returned by list_documents (e.g. ['custom-documents/Pine Script/file.pine-abc123.json']). deletes: Document paths to un-embed (remove from workspace only, the file remains in AnythingLLM storage). |
| anythingllm_update_pinA | Pin or unpin a document in a workspace. Pinned documents are always included in the LLM context for every query, regardless of vector similarity results. Args: slug: Workspace slug. doc_path: Document path as returned by list_documents (e.g. 'custom-documents/myfile.pdf-abc123.json'). pinned: True to pin, False to unpin. |
| anythingllm_searchA | Search for relevant document chunks within a workspace using vector similarity. Args: slug: Workspace slug to search in query: Search query top_n: Number of results (1-20, default 4) score_threshold: Similarity score threshold (0-1). Lower = more results. |
| anythingllm_get_system_settingsA | Get AnythingLLM system settings (LLM provider, vector DB, embeddings, etc.). |
| anythingllm_get_vector_countA | Get the total number of vectors stored in the system. |
| anythingllm_export_chatsA | Export all chat logs from all workspaces. |
| anythingllm_remove_documentsA | Permanently delete one or more documents from the system. This removes the documents from AnythingLLM storage entirely. They will also be removed from any workspaces that had them embedded. Args: names: List of document names/paths as returned by list_documents (e.g. ['custom-documents/myfile.pdf-abc123.json']). |
| anythingllm_list_embedsA | List all embed configurations (public chat widgets). |
| anythingllm_list_modelsA | List available models via the OpenAI-compatible endpoint. |
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/andreperez/anythingllm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server