SuiAgentic
Supports Docker for running the Qdrant vector database component, simplifying deployment and setup
Uses .env files for configuration management of connection parameters and application settings
Built on FastAPI to provide REST API endpoints for document embedding and semantic retrieval capabilities
Provides repository access for installation and setup through GitHub cloning process
Built with Python, supporting Python-based setup, dependency management, and execution
Specialized for Sui blockchain documentation, allowing semantic search and contextual retrieval of Sui architecture and documentation
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SuiAgenticsearch for information about document embedding in our knowledge base"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§ SuiAgentic
SuiAgentic is a FastAPI-based application for document embedding and semantic retrieval, powered by the Qdrant vector database. It enables you to convert documents (from URLs or local files) into embeddings, store them efficiently, and retrieve relevant content using natural language queries. It is designed to support AI-enhanced tools like Cursor, Copilot, Claude, and other MCP-compatible clients.
π‘ Why SuiAgentic? Many organizations need to integrate context from internal documents (e.g., PRDs, design specs, wikis) into tools used by developers and knowledge workers. However, consolidating documents from various sources into a centralized, searchable knowledge base is complex and fragmented.
SuiAgentic solves this by providing a centralized context server that ingests, chunks, embeds, and indexes your contentβmaking it available via a simple REST API and web interface. It also supports being used as an MCP server for AI agents.
π Key Features Document Embedding: Extracts content from URLs (with or without authentication), splits it into chunks, generates embeddings, and stores them in Qdrant.
Semantic Search: Query your knowledge base with natural language and retrieve relevant chunks or documents.
Web UI: Easy-to-use web interface for embedding and searching.
REST API: Fully accessible via HTTP endpoints for automation or integration.
MCP Server Ready: Use it with MCP-compatible clients like Cursor, Copilot, Claude, etc.
Authentication Support: Supports Basic Auth and Bearer Token for protected documents.
βοΈ Quick Start
Clone the Repository
git clone https://github.com/AnhQuan2004/mcp_agent.git
cd mcp_agentSet up Python Environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activateInstall Dependencies
pip install -r requirements.txtCreate .env file (or use the provided .env.example)
QDRANT_URL=localhost
QDRANT_PORT=6333
QDRANT_COLLECTION_NAME=documentsStart Qdrant (Vector DB)
Using Docker:
docker run -p 6333:6333 qdrant/qdrantOr using the helper script:
./runqdrant.shRun the Agentic App
uvicorn app.main:app --reload
# or:
python run.pyVisit http://localhost:8000
π Web Interface & API
Web UI:
/ β Home
/embed β Embed documents via UI
/retrieve β Semantic search UI
π POST /retrieve
{
"query": "What is the architecture of Sui?",
"top_k": 5,
"group_by_doc": true
}π Embedding from URLs
Public URLs:
Just provide the URL via the API or UI β no auth needed.
π€ Using as an MCP Server
To use sui as an MCP server:
{
"mcpServers": {
"suiAgentic": {
"url": "http://localhost:8000/mcp"
}
}
}Document Upload Tools
This directory contains tools to bulk upload documents to your SuiAgentic Qdrant database.
Available Tools
upload_folder.py- A simple script to upload PDF files from a folderupload_documents.py- An advanced script to upload PDF, DOCX, and TXT files with more options
Related MCP server: RagDocs MCP Server
Prerequisites
Python 3.8+
SuiAgentic application installed and configured
Qdrant server running locally or accessible via network
Required dependencies installed (PyPDF2, python-docx)
Basic Usage
Upload PDF Files from a Folder
# Upload all PDFs from a folder
python upload_folder.py /path/to/pdf/folder
# Upload with a prefix (useful for categorizing documents)
python upload_folder.py /path/to/pdf/folder --prefix "Research Papers"Advanced Document Upload
# Upload all supported documents from a folder and subfolders
python upload_documents.py /path/to/documents --recursive
# Add metadata tags to all documents
python upload_documents.py /path/to/documents --tag category=research --tag project=alpha
# Specify collection name (if not using default)
python upload_documents.py /path/to/documents --collection my_collection
# Complete example with all options
python upload_documents.py /path/to/documents --recursive --prefix "Project X" --tag department=marketing --tag status=finalWhat These Tools Do
Find supported documents in the specified folder
Extract text content from each document
Split text into manageable chunks
Generate 3072-dimensional embeddings for each chunk
Store chunks and embeddings in Qdrant
Track metadata for each document
Command-line Arguments
upload_folder.py
folder- Path to the folder containing PDF files--prefix- Prefix to add to document names
upload_documents.py
folder- Path to the folder containing documents--prefix- Prefix to add to document names--recursive- Search for files recursively in subfolders--collection- Name of the Qdrant collection to use--tag- Add metadata tags to documents (can be used multiple times:--tag key=value)
Examples
Organize documents by project
python upload_documents.py /path/to/projects/project1 --recursive --prefix "Project 1" --tag project=alpha
python upload_documents.py /path/to/projects/project2 --recursive --prefix "Project 2" --tag project=betaCategorize documents
python upload_documents.py /path/to/contracts --prefix "Legal" --tag department=legal --tag confidential=true
python upload_documents.py /path/to/manuals --prefix "Technical" --tag department=engineeringTroubleshooting
If you encounter memory errors with large documents, try breaking them into smaller files
For large collections of documents, consider processing in smaller batches
Check the log output for any errors during processing
πͺͺ License
Licensed under the Apache License 2.0.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/jasong-03/mcp_agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server