Installation
npm install -g seshat-mcp
git clone https://github.com/menezis-ai/seshat-mcp.git
cd seshat-mcp
npm install
npm run build
docker pull ghcr.io/menezis-ai/seshat-mcp:latest
Prerequisites
Ethereum Wallet
You need an Ethereum wallet with a small amount of ETH on Base L2 for attestation fees (~$0.001 per attestation).Create a dedicated wallet for SESHAT. Never use your main wallet.
EAS Schema
Register your attestation schema on EAS (one-time setup). See Configuration for details. Git Host Token
Generate an API token for your git host (GitHub, GitLab, or Forgejo) with read:repo scope.
Configuration
Create a .env file with your credentials:
# Blockchain (Required)
ETH_PRIVATE_KEY=0x...your_private_key...
EAS_SCHEMA_UID=0x...your_schema_uid...
# Git Host (Required)
GIT_HOST_API_URL=https://api.github.com
GIT_HOST_TOKEN=ghp_...your_token...
# Obsidian (Required for research certification)
OBSIDIAN_ROOT=/path/to/your/vault
# Database
DB_PATH=./data/seshat.db
Never commit your .env file. Add it to .gitignore.
MCP Client Setup
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"seshat": {
"command": "seshat",
"args": ["serve"],
"env": {
"ETH_PRIVATE_KEY": "0x...",
"EAS_SCHEMA_UID": "0x...",
"GIT_HOST_API_URL": "https://api.github.com",
"GIT_HOST_TOKEN": "ghp_...",
"OBSIDIAN_ROOT": "/path/to/vault"
}
}
}
}
Claude Code
{
"mcpServers": {
"seshat": {
"command": "npx",
"args": ["seshat-mcp"],
"env": {
"ETH_PRIVATE_KEY": "0x...",
"EAS_SCHEMA_UID": "0x..."
}
}
}
}
First Steps
1. Check System Status
Or via MCP:
Use the status tool to check SESHAT health
The status tool shows wallet balance, git host connectivity, and database statistics.
2. Initialize a Project
This interactive wizard helps you configure:
- Project ID and name
- Local repository path
- Obsidian vault subdirectory
- Git host integration
3. Certify Research Notes
First, ensure your Obsidian notes have proper frontmatter:
---
project: my-project
date: 2026-01-16
hours: 2.5
class: S
status: reviewed
---
Then certify:
Use certify_research with project "my-project" and dry_run true
Always use dry_run: true first to preview what will be certified.
4. Seal a Merged PR
Use seal with project "my-project", type "pr", ref "42"
5. Generate Legal Bundle
For a release:
Use bundle_release with project "my-project", tag "v1.0.0"
This creates:
*_source.zip - Complete source archive
RD_REPORT.md - R&D hours summary
PROOF_CHAIN.json - All attestation UIDs
MANIFEST.json - File hashes
What’s Next?