Thesis’s knowledge layer combines two retrieval branches: a graph-as-knowledge-base that embeds committed node content, and a Nia proxy that indexes external sources such as arXiv papers, GitHub repositories, documentation sites, and HuggingFace datasets. The 16 tools in this section let you populate both branches, search across them simultaneously, read or grep file contents, and queue longer synthesis jobs through Oracle and Tracer.

Knowledge tools (9)

Use the index tools to bring external sources into Thesis so they become searchable and readable through the unified search and source-reading tools.
ToolMutation?Purpose
thesis_index_paperYesIndex an arXiv paper via Nia
thesis_index_repoYesIndex a GitHub repository
thesis_index_docsYesIndex a documentation site
thesis_index_datasetYesIndex a HuggingFace dataset
thesis_searchNoUnified search across graph content and Nia sources
thesis_read_sourceNoRead a file from an indexed source
thesis_grep_sourceNoRegex search within an indexed source
thesis_explore_sourceNoBrowse the file tree of an indexed source
thesis_list_sourcesNoList all sources indexed in your workspace

Source type mapping

Each index tool corresponds to a canonical source type used throughout the Thesis data model:
ToolSource type
thesis_index_paperresearch_paper
thesis_index_reporepository
thesis_index_docsdocumentation
thesis_index_datasetdataset

Key parameters

Each index tool uses a different primary parameter:
ToolParameterDescription
thesis_index_paperexternal_refURL or DOI of the paper (e.g. https://arxiv.org/abs/2203.15556)
thesis_index_repoowner_repoGitHub owner/repo slug (e.g. huggingface/trl)
thesis_index_docsurlRoot URL of the documentation site
thesis_index_datasetdataset_idHuggingFace dataset identifier (e.g. allenai/c4)
display_name
string
Optional friendly name for the source, displayed in the Sources panel.
query
string
required
The search query string for thesis_search. Fans out across both graph content and Nia sources, deduplicates results, and merges relevance scores.
source_id
string
required
The indexed source identifier, required by thesis_read_source, thesis_grep_source, and thesis_explore_source.
path
string
File path within the source for thesis_read_source and thesis_explore_source.
pattern
string
Regex pattern for thesis_grep_source.

Example: index a paper then search for it

POST /mcp-server
Content-Type: application/json
Authorization: Bearer thk_your_api_key

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "thesis_index_paper",
    "arguments": {
      "external_ref": "https://arxiv.org/abs/2203.15556",
      "display_name": "Chinchilla: Training Compute-Optimal LLMs"
    }
  }
}
Indexing is asynchronous for large sources. Check thesis_list_sources to confirm the status field has moved to "indexed" before using thesis_read_source or thesis_grep_source.

Oracle tools (4)

Oracle runs structured research synthesis jobs in the background. You start a job, optionally stream its output as it runs, and retrieve results when it completes. Three job modes are available with increasing depth and cost.
ToolMutation?Purpose
thesis_oracle_start_jobYesQueue a research synthesis job
thesis_oracle_job_statusNoGet the current state and results of a job
thesis_oracle_job_streamNoStream job output via SSE as it progresses
thesis_oracle_jobs_listNoList all Oracle jobs for your account

Job modes

mode
string
required
Controls synthesis depth:
  • quick. Fast scan of top indexed sources. Suitable for orientation queries.
  • deep. Broader source coverage with Exa-backed paper and web discovery. Produces a longer synthesis report.
  • oracle. Full deep research pass with multi-round retrieval, synthesis, and citation extraction. Highest quality, longest runtime.
query
string
required
The research question or topic to synthesize.
Generated reports are saved as files and can be attached to nodes as artifacts.

Tracer tools (2)

Tracer runs GitHub code search across repositories and returns structured code search briefs. Use it to find implementations, locate usage patterns, or discover related open-source work.
ToolMutation?Purpose
thesis_tracer_searchYesLaunch a GitHub code search job
thesis_tracer_statusNoRetrieve the result of a completed Tracer job
query
string
required
Code search query. Supports GitHub code search syntax including language: and repo: qualifiers.
repos_csv
string
required
Comma-separated list of GitHub repositories to search, in owner/repo format. Example: "huggingface/trl,openai/spinningup".
mode
string
default:"\"fast\""
Search mode: fast aggregates GitHub search hits; slow also reads the top match per repo for a deeper brief.
Tracer requires a GitHub token connected in Settings → API Keys. Without a connected GitHub account, thesis_tracer_search will return an error.

Document Agent tool (1)

The Document Agent runs question-answering against a single indexed source. Use it when you want a focused answer from a specific paper, repository, or documentation site rather than a broad search across all sources.
ToolMutation?Purpose
thesis_document_queryNoQ&A against a single indexed source
source_id
string
required
The source to query. Must already be indexed via one of the thesis_index_* tools.
question
string
required
The natural-language question to answer using the source’s content.