Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Domain-agnostic knowledge hub with Discord bot, AI agent, and vector search capabilities Arbiter Domain-Agnostic Knowledge Hub with Discord Bot, AI Agent, and Vector Search $1 $1 $1 --- Overview Arbiter is a **domain-agnostic** knowledge management system that can ingest, index, and query documents from any domain. Unlike domain-specific systems, Arbiter accepts all configuration through environment variables and user-provided settingsβno hardcoded domain knowledge. **Key Features**: - π **Domain Agnost Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
arbiter is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
Domain-agnostic knowledge hub with Discord bot, AI agent, and vector search capabilities Arbiter Domain-Agnostic Knowledge Hub with Discord Bot, AI Agent, and Vector Search $1 $1 $1 --- Overview Arbiter is a **domain-agnostic** knowledge management system that can ingest, index, and query documents from any domain. Unlike domain-specific systems, Arbiter accepts all configuration through environment variables and user-provided settingsβno hardcoded domain knowledge. **Key Features**: - π **Domain Agnost
Public facts
6
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
K Moffett
Artifacts
0
Benchmarks
0
Last release
1.0.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/k-moffett/arbiter.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
K Moffett
Protocol compatibility
MCP
Auth modes
mcp, api_key
Machine-readable schemas
OpenAPI or schema references published
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# Clone the repository git clone https://github.com/yourusername/arbiter.git cd arbiter # Install dependencies npm install # Set up environment variables cp .env.example .env # Edit .env with your configuration
bash
# Run in development mode with hot reload npm run dev # Type check npm run typecheck # Lint npm run lint # Test npm test # Full validation npm run validate
bash
# Start all services with model warming (recommended) npm run docker:services:up # Start services without model warming (faster startup) npm run docker:services:up:no-warm # Start MCP server npm run docker:mcp:up # Start full MVP stack (services + MCP + health check) npm run docker:mvp # Run CLI client npm run docker:cli # Manually trigger model warming (if skipped earlier) npm run docker:warm # Stop all services npm run docker:mvp:down
bash
# Required ANTHROPIC_API_KEY="your-key-here" QDRANT_HOST="localhost" QDRANT_PORT="6333" # Domain Configuration (user-defined) DOMAIN_NAME="My Knowledge Domain" VECTOR_COLLECTION_NAME="my-data" DATA_VERSION="1.0.0" # Data Sources (user-provided URLs) PDF_SOURCE_URLS="https://example.com/doc1.pdf,https://example.com/doc2.pdf" XML_SOURCE_URL="https://github.com/user/repo"
json
{
"sources": [
{
"id": "core-docs",
"type": "pdf",
"url": "https://example.com/documentation.pdf",
"label": "Core Documentation",
"priority": 1
}
]
}text
!ingest https://example.com/rules.pdf "My Rules Document" !configure collection set my-collection-name
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
Domain-agnostic knowledge hub with Discord bot, AI agent, and vector search capabilities Arbiter Domain-Agnostic Knowledge Hub with Discord Bot, AI Agent, and Vector Search $1 $1 $1 --- Overview Arbiter is a **domain-agnostic** knowledge management system that can ingest, index, and query documents from any domain. Unlike domain-specific systems, Arbiter accepts all configuration through environment variables and user-provided settingsβno hardcoded domain knowledge. **Key Features**: - π **Domain Agnost
Domain-Agnostic Knowledge Hub with Discord Bot, AI Agent, and Vector Search
Arbiter is a domain-agnostic knowledge management system that can ingest, index, and query documents from any domain. Unlike domain-specific systems, Arbiter accepts all configuration through environment variables and user-provided settingsβno hardcoded domain knowledge.
Key Features:
# Clone the repository
git clone https://github.com/yourusername/arbiter.git
cd arbiter
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# Run in development mode with hot reload
npm run dev
# Type check
npm run typecheck
# Lint
npm run lint
# Test
npm test
# Full validation
npm run validate
# Start all services with model warming (recommended)
npm run docker:services:up
# Start services without model warming (faster startup)
npm run docker:services:up:no-warm
# Start MCP server
npm run docker:mcp:up
# Start full MVP stack (services + MCP + health check)
npm run docker:mvp
# Run CLI client
npm run docker:cli
# Manually trigger model warming (if skipped earlier)
npm run docker:warm
# Stop all services
npm run docker:mvp:down
Model Warming: By default, Ollama models are pre-loaded into memory after startup to reduce first-request latency. This adds ~30-60 seconds to startup time but eliminates the 10-20 second delay on first requests. Disable by using docker:services:up:no-warm or setting OLLAMA_WARM_MODELS=false in .env.
Arbiter is designed to be completely domain-agnostic. All domain-specific information must be provided through configuration:
Copy .env.example to .env and configure:
# Required
ANTHROPIC_API_KEY="your-key-here"
QDRANT_HOST="localhost"
QDRANT_PORT="6333"
# Domain Configuration (user-defined)
DOMAIN_NAME="My Knowledge Domain"
VECTOR_COLLECTION_NAME="my-data"
DATA_VERSION="1.0.0"
# Data Sources (user-provided URLs)
PDF_SOURCE_URLS="https://example.com/doc1.pdf,https://example.com/doc2.pdf"
XML_SOURCE_URL="https://github.com/user/repo"
Create config/data-sources.json:
{
"sources": [
{
"id": "core-docs",
"type": "pdf",
"url": "https://example.com/documentation.pdf",
"label": "Core Documentation",
"priority": 1
}
]
}
Use Discord commands to configure at runtime:
!ingest https://example.com/rules.pdf "My Rules Document"
!configure collection set my-collection-name
arbiter/
βββ src/
β βββ interface/ # Discord bot, API, CLI interfaces
β βββ context/ # Session and state management
β βββ orchestrator/ # Query routing and orchestration
β βββ tools/ # Generic tool implementations
β βββ parsers/ # Document parsers (PDF, XML, HTML)
β βββ vector/ # Vector database operations
β βββ config/ # Configuration management
β βββ shared/ # Shared utilities and types
βββ test/ # Test files
βββ .claude/ # AI assistant configuration
βββ dist/ # Build output
βββββββββββββββββββββββββββββββββββββββββββ
β Interface Layer β
β - Discord bot (optional) β
β - Web API (future) β
β - CLI (future) β
βββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββ
β Orchestration + Context Layer β
β - Query classification β
β - Session management β
β - Tool routing & selection β
βββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βββββββββββββββββββββββββββββββββββββββββββ
β Execution Layer β
β - Generic document search β
β - Configurable parsers β
β - Vector database operations β
β - User-defined tools β
βββββββββββββββββββββββββββββββββββββββββββ
Never hardcode domain-specific logic. Always use configuration:
β Bad:
const GAME_NAME = "Fantasy Battle System X";
const COLLECTION = "game-system-x";
β Good:
const domainName = process.env.DOMAIN_NAME || "general";
const collection = process.env.VECTOR_COLLECTION_NAME || "knowledge-base";
All domain knowledge comes from:
Tools are reusable across domains:
DocumentSearchTool - Semantic searchEntityLookupTool - Entity queriesComparisonTool - Compare entitiesAnalysisTool - LLM analysisParsers accept user-defined extraction rules:
{
"parser": "xml",
"extractionRules": [
{
"entityType": "item",
"xpath": "//item",
"fields": [
{ "name": "name", "path": "@name", "type": "string" },
{ "name": "value", "path": "cost", "type": "number" }
]
}
]
}
# Run all tests
npm test
# Watch mode
npm run test:watch
# Coverage report
npm run test:coverage
# Auto-fix linting issues
npm run lint:fix
# Format code
npm run format
# Check everything
npm run validate
Arbiter provides comprehensive logging with built-in filtering to separate application logs from Ollama model logs.
# View Arbiter application logs only
npm run logs:arbiter
# View Arbiter CLI logs
npm run logs:arbiter:cli
# View Ollama model logs
npm run logs:ollama
# View all logs from all containers
npm run logs:all
# View JSON structured logs (pipe to jq for filtering)
npm run logs:json
Text Format (default):
[ARBITER] INFO: Server started on port 3100
[ARBITER] DEBUG: Processing request for entity: weapon-123
[ARBITER] ERROR: Failed to connect to Qdrant
JSON Format (for machine parsing):
{"timestamp":"2025-01-15T10:30:45.123Z","level":"INFO","service":"ARBITER","message":"Server started on port 3100"}
{"timestamp":"2025-01-15T10:30:46.456Z","level":"DEBUG","service":"ARBITER","message":"Processing request","context":{"entityId":"weapon-123"}}
Configure logging behavior in .env or Docker environment:
# Log prefix (default: [ARBITER])
LOG_PREFIX="[ARBITER]"
# Log format: text or json (default: text)
LOG_FORMAT="text"
# Log level: DEBUG, INFO, WARN, ERROR (default: INFO)
LOG_LEVEL="INFO"
# Enable colored output (default: true)
LOG_USE_COLORS="true"
# Enable Ollama debug logs (default: false)
OLLAMA_DEBUG="false"
Filter JSON logs with jq:
# Show only ERROR level logs
npm run logs:json | jq 'select(.level == "ERROR")'
# Show logs with specific context
npm run logs:json | jq 'select(.context.entityId != null)'
# Pretty print JSON logs
npm run logs:json | jq '.'
Direct Docker commands:
# View logs from specific container
docker logs -f arbiter-mcp-server
# Filter Arbiter logs with grep
docker logs -f arbiter-mcp-server 2>&1 | grep "\[ARBITER\]"
# View last 100 lines
docker logs --tail 100 arbiter-mcp-server
To enable JSON structured logging, update your .env file:
LOG_FORMAT="json"
Then restart the services:
npm run docker:services:down
npm run docker:services:up
Current Phase: Foundation Setup β
Arbiter is a refactored and optimized version of the cogitator project:
| Aspect | Cogitator | Arbiter | |--------|-----------|---------| | Domain | Hardcoded | Fully configurable | | Files | 288 TypeScript files | Target: 100-150 | | Layers | 4 layers | 3 layers (simplified) | | Memory | ~1GB+ idle | Target: <256MB | | Startup | ~5-10s | Target: <2s | | Bundle | ~200MB+ | Target: <50MB | | Dependencies | Heavy (Puppeteer, etc.) | Lighter alternatives | | Interface Prefix | Required "I" | Optional (modern style) |
Contributions welcome! Please:
any types)npm run validate before committingMIT License - see LICENSE file for details.
Built with β€οΈ using Clean Architecture and TypeScript
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/k-moffett/arbiter#input",
"outputSchemaRef": "https://github.com/k-moffett/arbiter#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:46:43.026Z",
"sourceUpdatedAt": "2026-02-24T19:46:43.026Z",
"freshnessSeconds": 4429962
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T02:19:25.201Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "discord",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "bot",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "vector-search",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "knowledge-base",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "typescript",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "domain-agnostic",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:discord|supported|profile capability:bot|supported|profile capability:mcp|supported|profile capability:ai|supported|profile capability:agent|supported|profile capability:vector-search|supported|profile capability:knowledge-base|supported|profile capability:typescript|supported|profile capability:domain-agnostic|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:43.026Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key",
"href": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:43.026Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/k-moffett/arbiter#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:43.026Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "K Moffett",
"href": "https://github.com/k-moffett/arbiter",
"sourceUrl": "https://github.com/k-moffett/arbiter",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-k-moffett-arbiter/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub Β· GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to arbiter and adjacent AI workflows.