Skip to content

RhydianJenkins/seek

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

111 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Server for Retrieval-Augmented Generation (RAG).

Search through a given knowledge base for relevant information using embedded natural language.

This is an early prototype and breaking changes are likely.

Features

  • Natural Language Search: Ask a question and have a conversation with your knowledge base
  • Semantic Search: Search your knowledge base for relevant documents using natural language queries
  • MCP Integration: Full Model Context Protocol support for integration with MCP clients

Supported File Formats

  • Plain Text - .txt, .md, and other text-based files
  • PDF - .pdf documents with text extraction
  • Word - .docx documents with text extraction
  • Excel - .xlsx spreadsheets (all sheets and cells)

Getting Started

Install with Nix

Install the binary to your system:

nix profile install github:rhydianjenkins/seek
seek --help

Or use without installing:

# Run directly without installing
nix run github:rhydianjenkins/seek -- --help

# Temporary shell with seek available
nix shell github:rhydianjenkins/seek
seek --help

Start the required services (Ollama and Qdrant):

# Start Qdrant (in one terminal)
nix run github:rhydianjenkins/seek#qdrant

# Start Ollama (in another terminal - auto-pulls nomic-embed-text model)
nix run github:rhydianjenkins/seek#ollama

# Or bring your own services by creating a .env file
cp .env.default .env
Install Globally

Install the binary globally on your system using Go:

go install github.com/rhydianjenkins/seek@latest
seek --help

Make sure $GOPATH/bin (usually ~/go/bin) is in your PATH.

Build from Source
git clone git@github.com:rhydianjenkins/seek
cd seek
go build
./seek --help

Embed your knowledge base

For seek to work, you first must embed your knowledge base into a qdrant vector database.

To embed your knowledge base, you can use the embed command:

seek embed --dataDir /path/to/knowledge/base

Search your Knowledge Base

Search for documents using natural language:

# Find relevant documents
seek search "Announcements this week"

# Ask a question
seek ask "What is the culture like at the company?"

# Show all documents in current database
seek list

# Fetch a specific document by filename
seek get "document.txt"

MCP

Start the MCP server for integration with MCP clients:

seek mcp

When running as an MCP server, the following tools are available:

  • search - Search the knowledge base using semantic similarity
  • embed - Generate embeddings for documents in a directory
  • get_document - Retrieve a full document by filename
  • status - Get database status and statistics

TODO

  • Add auth/TLS support
  • Image/OCR support

About

Chat client and MCP Server for Retrieval-Augmented Generation (RAG)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors