Skip to main content
Glama
andreperez

AnythingLLM MCP Server

by andreperez

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANYTHINGLLM_API_KEYYesAPI key for authenticating with AnythingLLM.
ANYTHINGLLM_BASE_URLNoBase 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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:

  1. Upload a file -> upload_file / upload_file_to_folder / upload_link / upload_raw_text

  2. List documents -> list_documents / list_documents_in_folder (get the doc paths)

  3. Embed into workspace -> THIS TOOL with 'adds' containing the doc paths from step 2

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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