Skip to main content
Glama
outlook-rag

outlook-rag

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OUTLOOK_RAG_MODELYesThe embedding model name, e.g. Qwen/Qwen3-Embedding-8B
OUTLOOK_RAG_API_KEYYesYour API key for the embedding API
OUTLOOK_RAG_DATA_DIRNoCustom directory for the local index database
OUTLOOK_RAG_EMBEDDING_URLNoCustom embedding endpoint URL (default: http://localhost:8080/api/v1/embeddings)

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
get_indexed_mailA

Read a cached original email body using mail_id returned by search_emails. No live Outlook access.

get_mail_threadB

Return the selected cached mail and preceding/following mail in the same Outlook store/conversation, chronologically. No live Outlook or embedding calls.

index_statusA

Indexed coverage, search scope, known PST stores and pending folders. Coverage describes the last sync inventory; use list_outlook_sources to verify currently connected archives before declaring mail absent.

list_outlook_sourcesA

Inspect ALL currently connected Outlook stores including PST archives, their folders and local index coverage, without reading bodies or calling the embedding API. Compare with index_status before declaring no mail found. Pending folders need sync with folders=['auto'], since_days=0. Disconnected PSTs cannot be inspected through Outlook.

search_emailsA

Search ALL indexed Outlook stores including PST archives by default. Leave folder/since/until unset unless explicitly restricted; never assume inbox-only/recent scope. Check search_scope and coverage before declaring absence. mode: semantic, hybrid (default BM25 + vector), lexical, identifier (one literal ID), auto, metadata (SQL lists, no model), thread (hybrid + scoped chronological originals). For attribute lists use metadata with query=''; subject/cursor are metadata-only. sender matches name/address, recipient matches To/CC in all modes, folder accepts wildcards or trailing slash prefixes, has_attachments filters indexed metadata. Message-ID deduplication defaults on; false shows every copy. Continue metadata pages with next_cursor and identical filters. Thread context is bounded original evidence, not a generated decision summary; read originals when truncated. Attachment matches include attachment_name when enabled. since/until are inclusive local calendar dates; min_similarity (-1..1) is calibrated cosine, not confidence.

sync_indexA

Plan, start, inspect or cancel indexing.

For 'create DB' without a period, call plan first: show 30/90/365-day and all-time counts/time estimates and ASK which scope to use; never silently start all time or choose a period. plan reads Outlook metadata only, no embedding API or index writes. start requires confirmed=true AND explicit since_days (otherwise confirmation_required, no job). Set confirmed=true only for the user's chosen/approved scope. Explicit date/folder limits take precedence over all/everything: all mail from last 30 days still means since_days=30. An unrestricted all/everything/全部 request approves folders=['auto'], since_days=0 without another question. Positive since_days limits indexing without deleting older indexed mail. Default status is offline with approximate remaining-time estimates: initial assumptions, then measured scan speed. Reused jobs retain their original scope; report mismatches/unknown scope. cancel keeps committed mail. Startup/search never launch sync.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

The tools mostly target clearly distinct actions: searching, retrieving a cached email, retrieving a thread, inspecting sources, checking index status, and syncing. The main overlap is between index_status and list_outlook_sources, both of which deal with coverage/source inspection, though their descriptions help distinguish them. search_emails is broad and mode-rich but remains distinct from the retrieval tools.

Naming Consistency4/5

Names consistently use snake_case and mostly follow verb_noun patterns such as get_indexed_mail, list_outlook_sources, search_emails, and sync_index. index_status is a minor deviation because it is noun-first rather than action-first. The overall convention is still predictable and readable.

Tool Count5/5

Six tools is well-scoped for an indexed Outlook search/RAG server. Each tool covers a necessary surface area: search, retrieval, thread context, source inspection, index status, and indexing control. There is no obvious bloat or missing high-level category.

Completeness4/5

The set covers the core lifecycle for cached Outlook search: searching, reading original messages, viewing threads, inspecting connected stores and coverage, and planning/starting/canceling indexing. Minor gaps remain around dedicated attachment retrieval or more granular sync job inspection, but agents can work around these through existing search and sync operations.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues