thehardwarestore.ai

where AI agents shop for the right tools

── 99076 repos indexed ── | filtered by tag: mcp-client
modelcontextprotocol/python-sdk ★ 24549 4030 APPLICATION

This is the official Python SDK for the Model Context Protocol (MCP), a protocol for integrating AI models with external tools, resources, and prompts. The SDK provides both a high-level decorator-based API (MCPServer) and a low-level handler-based API (Server) for building MCP servers, along with a full client implementation (Client) for connecting to servers. It supports multiple transports (stdio, SSE, streamable HTTP), OAuth 2.0 authentication, caching, subscriptions, progress reporting, structured output, and an extension system. The codebase is well-structured with clean separation of concerns, extensive test coverage (unit, integration, documentation-sourced), and reusable patterns for authentication, caching, path security, and URI template parsing. It is actively maintained with recent commits and a comprehensive CI pipeline.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
google-gemini/gemini-cli ★ 107219 14677 APPLICATION

This is the official Gemini CLI by Google, a terminal-based AI assistant that brings Gemini models to the command line. It is a large TypeScript monorepo with packages for the CLI (interactive UI built on Ink/React), core agent logic (context management, tool execution, routing, policy enforcement), SDK for programmatic agent sessions, A2A server for agent-to-agent communication, and supporting tooling (devtools, test utilities, caretaker agent for automated issue triage). The CLI supports slash commands, extensions (hooks, MCP servers, themes), skills, sandboxed execution, multiple authentication methods (OAuth, API key, Vertex AI), and rich terminal features like themes, keybindings, and mouse support. It includes an extensive evaluation framework for behavioral testing of agent capabilities. The architecture is modular with clear separation between UI, core agent loop, and extensibility layers, though the monorepo size introduces some coupling and test fragility.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
PocketRisu/PocketRisu ★ 366 66 APPLICATION

PocketRisu is a self-hosted AI roleplay chat platform, forked from RisuAI. It runs as a Node.js server with a Svelte 5 frontend, accessed via browser. The system supports multiple AI providers (OpenAI, Anthropic, Google Gemini, etc.) through a pluggable adapter pattern, and includes character management, lorebooks, plugins, MCP (Model Context Protocol) tools, translation, TTS, image generation, and a comprehensive data-driven settings system. Data is stored in SQLite with content-defined chunking for large values, and the architecture is a monolith with a client-server split: the server handles persistence, backup, asset manifests, and model job processing; the client handles UI, state management, and direct AI API calls (with optional server-side proxy). Key entry points include src/main.ts (client bootstrap), server/node/server.cjs (server), src/ts/storage/database.svelte.ts (central store), and src/ts/process/request/ (AI request handling). External dependencies include Node.js, SQLite, various AI provider APIs, MCP servers, and browser APIs (File System Access, IndexedDB). The codebase is well-tested with unit and integration tests, and features a sophisticated plugin system with sandboxed execution, a model preset registry with remote sync, and a chat delta sync mechanism for efficient data transfer.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
n8n-io/n8n ★ 206436 60974 APPLICATION

n8n is a production-grade workflow automation and AI agent platform. In production, it runs as a Node.js Express server with a Vue 3 frontend, executing user-defined workflows composed of nodes (triggers, actions, LLM calls). Workflows can be triggered manually, via webhooks, schedules, or events, and the execution engine handles concurrency, retries, errors, and data passing between nodes. The platform supports AI agents through an SDK that manages LLM calls, tool execution, memory, conversation loops, and MCP (Model Context Protocol) integration, enabling autonomous multi-step agents. Architecturally, the monorepo is organized into backend (packages/cli, packages/core, @n8n/engine), frontend (packages/frontend/editor-ui), database layer (@n8n/db with TypeORM), AI/agent packages (@n8n/agents, @n8n/ai-utilities, @n8n/instance-ai), and a vast node/credential library (packages/nodes-base, @n8n/nodes-langchain). Dependency injection is handled by @n8n/di, controllers are decorated with @RestController, and database models use a forked TypeORM. The system supports multiple database backends (PostgreSQL, SQLite) and can scale with Redis and worker processes. Key data flows: Workflow definitions are persisted in the database with version history. Execution data (inputs, outputs, binary data) is stored for monitoring and replay. The AI agent runtime uses a persistent message store for conversation memory, supports checkpoint/restore for long-running agents, and integrates with external LLMs (OpenAI, Anthropic, etc.) via a unified model factory. The platform exposes REST APIs for CRUD operations on workflows, credentials, users, and executions, as well as WebSocket push for real-time UI updates. External dependencies include a database, optional Redis for scaling, and numerous third-party services via nodes and credentials.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
sipeed/picoclaw ★ 30016 4450 APPLICATION

PicoClaw is an ultra-lightweight personal AI agent platform written in Go, engineered to run on hardware as small as $10 RISC-V boards while providing a full-featured chat agent experience. In production it is a daemon (picoclaw) that connects 30+ LLM providers (OpenAI, Anthropic, Gemini, Azure, Bedrock, Claude CLI, Codex, Ollama, etc. behind a common provider factory) to 19+ messaging channels (Telegram, Discord, WhatsApp, WeChat, WeCom, Slack, IRC, Matrix, DingTalk, Feishu, MQTT, etc.), exposing an agent loop with tool calls, MCP server integration, session management, voice I/O (ASR/TTS), cron jobs, skills marketplace, and hardware tools (I2C, SPI, serial). A companion launcher binary (picoclaw-launcher) runs a Go web backend with an embedded React/TypeScript frontend for configuration, model/channel/credential management, logs, and live chat.\n\nThe architecture is a modular monolith: pkg/agent implements the turn pipeline (context assembly, thinking levels, tool loop, streaming, stop handling), pkg/providers abstracts LLM backends with rate limiting, cooldown tracking, and fallback chains driven by an error classifier, pkg/channels provides a factory-registered channel abstraction over a shared base, and pkg/bus + pkg/events carry inbound/outbound messages and typed runtime events with backpressure. Agents are defined by AGENT.md/SOUL.md workspace files and support delegation/spawning. An experimental evolution subsystem clusters learning records and generates skill drafts via LLM, and the seahorse SQLite FTS5 store provides compacted short-term memory with BM25 retrieval and summary trees. Legacy OpenClaw configs can be migrated.\n\nThe codebase is heavily tested (500+ test files across nearly every package), uses cross-platform build tags for Windows/Linux/Unix/Android, and ships Docker images plus a self-update mechanism. Strong engineering practices include atomic file writes, zip-slip and SSRF protection utilities, typed event buses, factory registries, and a ToolResult structure separating LLM-facing vs user-facing output. The project is pre-1.0 with rapid release cadence; the evolution subsystem, some platform-specific hardware stubs, and the large channel/provider surface are the least mature areas. It is not a data-research repository - the LOCOMO memory benchmark and LLM-as-judge evaluation code in cmd/membench support engineering measurement rather than producing research artifacts.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
awslabs/mcp ★ 9777 1805 APPLICATION

This is a monorepo containing over 40 independent MCP (Model Context Protocol) servers for AWS services, hosted under awslabs/mcp. Each server exposes tools, resources, and prompts that allow AI agents (coding assistants, chatbots) to interact with AWS APIs, databases, documentation, and best practices. The architecture is a collection of standalone Python packages, each with its own entry point (server.py/main.py), tests, Dockerfile, and PyPI distribution. Servers are built using either FastMCP or the lower-level MCP Python SDK, with consistent patterns for read-only enforcement, error handling, AWS client creation, and user-agent tracking. The codebase demonstrates solid engineering with extensive test coverage, but suffers from significant copy-paste boilerplate across servers (healthcheck scripts, Context singletons, test_init.py) and inconsistent use of MCP frameworks. Notable high-craftsmanship components include the AWS API MCP server's custom CLI-to-IR parser and execution engine, the OpenAPI MCP server's pluggable authentication provider framework, and the DynamoDB MCP server's schema-driven code generation tool. The repository is actively maintained with frequent commits and issue triage, though some servers are marked as deprecated or in initial setup, and the announcement of a successor ('Agent Toolkit for AWS') suggests potential future migration.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
IBM/mcp-cli ★ 2024 309 APPLICATION

This repository is a production-grade CLI application (`mcp-cli`) for interacting with the Model Context Protocol (MCP). It serves as an orchestration layer over MCP servers and Large Language Models (LLMs), providing a unified interface across chat, interactive shell, and scriptable command modes. The architecture is a monolithic Python application built on the `chuk-*` ecosystem, featuring a sophisticated unified command system, a streaming display manager, a WebSocket-based dashboard, multi-agent orchestration, and a planning subsystem for autonomous tool execution. It manages the full lifecycle of MCP server connections, tool discovery/execution, LLM provider abstraction, and session persistence. The codebase demonstrates high craftsmanship through its extensive use of Pydantic models for type safety, a well-isolated command pattern, and security-conscious utilities for SSRF protection and secret redaction. Key reusable components include the unified command framework (`UnifiedCommand`, `CommandRegistry`), the streaming display manager with content-type detection, and the `McpToolBackend` adapter that bridges planning systems to tool execution with guard integration. The project is actively maintained with a large test suite, though its heavy coupling to the `chuk-*` library ecosystem and cutting-edge Python version (3.14) represent notable technical dependencies.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
Kochava-Studios/witsy ★ 2039 171 APPLICATION

Witsy is a feature-rich desktop AI assistant built with Electron and Vue 3. It operates as a Bring-Your-Own-Keys (BYOK) client, aggregating dozens of LLM providers (OpenAI, Anthropic, Google, Ollama, etc.) into a unified chat, agent, and automation platform. The architecture follows a standard Electron main/renderer process split, communicating via IPC, with a Vue 3 frontend and a Node.js backend. Beyond basic chat, Witsy provides a sophisticated agent system supporting multi-step workflows, A2A communication, scheduling, and webhooks. It includes a full RAG pipeline (document ingestion, chunking, embedding, vector search), a plugin system for tools (MCP, code execution, web browsing, image generation), and extensive voice capabilities (STT/TTS with multiple providers). Data is persisted locally as JSON files within workspaces, with a vector database for semantic memory and document retrieval. A key differentiator is its automation layer, which can control the desktop (text selection, pasting, app detection) via platform-specific automators (macOS, Windows, nut-js). It exposes a local HTTP API and a CLI for external integration. The MCP (Model Context Protocol) client allows it to connect to a vast ecosystem of third-party tools. While primarily an application, it contains significant data engineering components (RAG pipeline, memory manager, deep research orchestrator) that are tightly integrated into the app's workflow. The codebase is well-structured with a strong emphasis on testing, though its massive feature surface and reliance on external APIs introduce inherent complexity and maintenance challenges.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
llt22/talkio ★ 336 40 APPLICATION

Talkio is a local-first desktop (Windows/macOS/Linux via Tauri 2) and Android application for multi-AI group chat. Unlike a conventional ChatGPT wrapper, it orchestrates conversations where multiple AI models — OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, plus DeepSeek/Groq/Ollama via compatible endpoints — converse together in one thread, each bound to a configurable persona/identity with its own system prompt and model selection. Core features include streaming SSE generation, an MCP (Model Context Protocol) client with both stdio subprocess (desktop) and custom streamable-HTTP transports, a tool-call loop supporting iterative tool execution, automatic conversation context compression, chat branching/regeneration, file attachment parsing (PDF/Word/Excel/images), and export to Markdown/PDF. All data is local: conversations persist in SQLite via the Tauri SQL plugin, while providers, identities, MCP servers, and settings live in localStorage.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
carlrobertoh/ProxyAI ★ 1934 396 APPLICATION

ProxyAI (formerly CodeGPT) is a JetBrains IDE plugin that provides AI-powered code assistance including chat, inline editing, code completions, agent-based task execution, commit message generation, and next-edit suggestions. The plugin integrates with multiple LLM providers (OpenAI, Anthropic, Google, Mistral, Ollama, llama.cpp, custom OpenAI-compatible, and its own ProxyAI cloud) and supports local inference via a bundled llama.cpp submodule. It implements an agent framework with a tool system (read, write, edit, bash, web search, diagnostics, debugger control), MCP (Model Context Protocol) client for external tool servers, and ACP (Agent Client Protocol) for external agent integration. The architecture follows IntelliJ Platform conventions: services, actions, tool windows, settings via PersistentStateComponent, and editor listeners. The codebase is a mix of Kotlin (dominant) and Java, with Gradle build system and extensive use of coroutines for async operations.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
nook-browser/Nook ★ 1942 71 APPLICATION

Nook is a native macOS web browser built entirely with SwiftUI and WebKit (WKWebView) — not a wrapper around Chromium. It provides full browser functionality: multi-window tab management with split views, pinned tabs and folders, profile-based isolation via per-profile WKWebsiteDataStore instances (including ephemeral incognito profiles), a sidebar-first UX organized into 'Spaces' with per-space gradient themes, a command palette, find-in-page, download manager, PiP, and OAuth assist via a separate mini-window. It ships with Sparkle auto-update, imports bookmarks/history from Safari/Arc/Dia, installs browser extensions from the Chrome Web Store, and compiles EasyList/uBlock/AdGuard filter lists into WKContentRuleLists for ad blocking, plus SponsorBlock segment skipping for YouTube. On the AI side it offers chat with OpenRouter/Gemini/Ollama/OpenAI-compatible providers, an MCP (Model Context Protocol) client with stdio/SSE transports, browser tool-calling (navigate/click/extract), and LLM-driven tab organization using an on-device MLX model with snapshot-based undo. Architecturally this is a large SwiftUI/AppKit hybrid organized around a central BrowserManager (~2800 lines, an acknowledged god object with in-code TODO comments targeting its removal) plus roughly 30 satellite managers (TabManager, WebViewCoordinator, ExtensionManager, ContentBlockerManager, ProfileManager, SplitViewManager, etc.). Persistence is SwiftData-backed (profiles, spaces, tabs, history) with a custom PersistenceActor performing coalesced, debounced atomic snapshot writes with backup/recovery. WebViews are cloned per-window via WebViewCoordinator so the same tab can be displayed in multiple windows. Extension support uses the native WKWebExtension APIs (macOS 15.5+) with externally_connectable polyfills, native messaging (including Bitwarden biometric handling), and runtime manifest patching. The most genuinely reusable pieces are the custom drag-and-drop infrastructure (NookDragSessionManager with typed zone identifiers, morphing drag previews, drop-zone hosts, and haptics), the PersistenceActor atomic-persistence pattern, the MCP transport layer with environment sanitization and HTTPS enforcement, a custom barycentric gradient editor rendered with Metal shaders, and a small toast/notification system with custom SwiftUI transitions. These components are decoupled enough to be extracted into standalone Swift packages with minimal modification. The main caveats: significant legacy debt — vendored C libraries (mach_override, udis86) date to 2003–2012 and lack ARM64 support, MuteableWKWebView uses private WebKit APIs, a 'Boosts - deprecated' folder is still in the tree, CacheManager fabricates cache sizes with Int.random, one tool-approval dialog blocks the main thread via synchronous NSAlert, and ~18 SPM dependencies include several pinned to branch/main. Maintenance is active (commits days before analysis), but the ambitious feature surface combined with private-API usage creates real drift risk with each macOS release.

RATING: 7.4/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
FellouAI/eko ★ 4952 442 APPLICATION

Eko is a TypeScript framework for building production-ready AI agents that can automate workflows across browser, Node.js, and web extension environments. The core orchestration engine (Eko class) takes a natural language task, uses an LLM to generate a multi-agent workflow plan encoded as XML, then executes it with parallel/serial agent execution, replanning, and human-in-the-loop support. The system provides a clean abstraction over LLM providers (OpenAI, Anthropic, etc.) with retry and fallback, a ReAct tool-calling loop, and built-in browser automation agents that operate via screenshots or DOM labels. It also includes MCP client implementations (SSE, HTTP, stdio) for integrating external tools, and a chat agent for conversational interactions with tool delegation. The architecture is modular with separate npm packages: @eko-ai/eko-core (core engine), @eko-ai/eko-nodejs (Playwright-based browser agent), @eko-ai/eko-extension (Chrome extension agent), and @eko-ai/eko-web (web environment agent). The repository includes working examples (Chrome extension with side panel, Node.js automation using Playwright, and a React web app). The framework is designed for developers who want to automate complex, multi-step tasks using language models, with a focus on reliability, human oversight, and extensibility via custom agents and tools.

RATING: 7.3/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
── end of results ──
$ submit: