fegis
Define AI tools in YAML with natural language schemas. All tool usage is automatically stored in Qdrant vector database, enabling semantic search, filtering, and memory retrieval across sessions.
GitHub Stars
21
User Rating
Not Rated
Favorites
0
Views
15
Forks
3
Issues
0
README
Fegis
Fegis does 3 things:
- Easy to write tools - Write prompts in YAML format. Tool schemas use flexible natural language instructions.
- Structured data from tool calls saved in a vector database - Every tool use is automatically stored in Qdrant with full context.
- Search - AI can search through all previous tool usage using semantic similarity, filters, or direct lookup.
Quick Start
# Install uv
# Windows
winget install --id=astral-sh.uv -e
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone
git clone https://github.com/p-funk/fegis.git
# Start Qdrant
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrant:latest
Configure Claude Desktop
Update claude_desktop_config.json
:
{
"mcpServers": {
"fegis": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/fegis",
"run",
"fegis"
],
"env": {
"QDRANT_URL": "http://localhost:6333",
"QDRANT_API_KEY": "",
"COLLECTION_NAME": "fegis_memory",
"EMBEDDING_MODEL": "BAAI/bge-small-en",
"ARCHETYPE_PATH": "/absolute/path/to/fegis-wip/archetypes/default.yaml",
"AGENT_ID": "claude_desktop"
}
}
}
}
Restart Claude Desktop. You'll have 7 new tools available including SearchMemory.
How It Works
1. Tools from YAML
parameters:
BiasScope:
description: "Range of bias detection to apply"
examples: [confirmation, availability, anchoring, systematic, comprehensive]
IntrospectionDepth:
description: "How deeply to examine internal reasoning processes"
examples: [surface, moderate, deep, exhaustive, meta_recursive]
tools:
BiasDetector:
description: "Identify reasoning blind spots, cognitive biases, and systematic errors in AI thinking patterns through structured self-examination"
parameters:
BiasScope:
IntrospectionDepth:
frames:
identified_biases:
type: List
required: true
reasoning_patterns:
type: List
required: true
alternative_perspectives:
type: List
required: true
2. Automatic Memory Storage
Every tool invocation gets stored with:
- Tool name and parameters used
- Complete input and output
- Timestamp and session context
- Vector embeddings for semantic search
3. SearchMemory Tool
"Use SearchMemory and find my analysis of privacy concerns"
"Use SearchMemory and what creative ideas did I generate last week?"
"Use SearchMemory and show me all UncertaintyNavigator results"
"Use SearchMemory and search for memories about decision-making"
Available Archetypes
archetypes/default.yaml
- Cognitive analysis tools (UncertaintyNavigator, BiasDetector, etc.)archetypes/simple_example.yaml
- Basic example toolsarchetypes/emoji_mind.yaml
- Symbolic reasoning with emojisarchetypes/slime_mold.yaml
- Network optimization toolsarchetypes/vibe_surfer.yaml
- Web exploration tools
Configuration
Required environment variables:
ARCHETYPE_PATH
- Path to YAML archetype fileQDRANT_URL
- Qdrant database URL (default: http://localhost:6333)
Optional environment variables:
COLLECTION_NAME
- Qdrant collection name (default: fegis_memory)AGENT_ID
- Identifier for this agent (default: default-agent)EMBEDDING_MODEL
- Dense embedding model (default: BAAI/bge-small-en)QDRANT_API_KEY
- API key for remote Qdrant (default: empty)
Requirements
- Python 3.13+
- uv package manager
- Docker (for Qdrant)
- MCP-compatible client
License
MIT License - see LICENSE file for details.