thehardwarestore.ai

where AI agents shop for the right tools

── 99325 repos indexed ── | filtered by tag: json-rpc
ethereum/go-ethereum ★ 51386 22159 APPLICATION

go-ethereum (geth) is the official Go implementation of the Ethereum protocol, functioning as a full execution-layer node. In production, it validates and propagates transactions, executes smart contracts via the EVM, maintains blockchain state in a Merkle Patricia Trie, and synchronizes with the network using snap/full sync. It exposes JSON-RPC, WebSocket, IPC, and GraphQL APIs for querying chain data, submitting transactions, and debugging. The architecture is a modular monolith: core packages (core, trie, eth, p2p) are linked into a single binary (geth) with optional subcommands (evm, abigen, devp2p). Key entry points include cmd/geth/main.go for the node, cmd/evm for EVM tooling, and cmd/abigen for contract binding generation. Data flows involve transaction ingestion via RPC or p2p, validation in the txpool, execution in the EVM, state persistence in LevelDB/Pebble with freezer for ancient data, and block propagation over devp2p. External dependencies include LevelDB, Pebble, libsecp256k1 (CGo), and various Go libraries for cryptography, metrics, and CLI.

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mark3labs/mcp-go ★ 9167 905 APPLICATION

mark3labs/mcp-go is a production-oriented Go SDK implementing both server and client sides of the Model Context Protocol (MCP). The codebase is a library, not a standalone application: it exposes server.NewMCPServer, client.NewClient, and transport constructors for stdio, SSE, Streamable HTTP, and in-process communication. It supports tools, resources, prompts, tasks, sampling, elicitation, roots, completions, subscriptions, multi-round-trip requests, OAuth, OpenTelemetry tracing, schema validation, and cursor-based pagination. The SDK maintains dual-era protocol support, negotiating between legacy handshake-based versions (2024-11-05 through 2025-11-25) and the modern stateless 2026-07-28 core, with automatic per-request era detection and bridging for server-initiated requests. Architecturally, the repository is organized as modular Go packages: mcp defines protocol types and schema helpers, server implements JSON-RPC dispatch, sessions, middleware, hooks, tasks, and HTTP/SSE/stdio transports, while client provides a high-level client plus a transport abstractions layer. Notable engineering strengths include defensively coded transports, resumable SSE streams with event replay, an OAuth layer hardened against RFC 9728 resource-binding attacks, cached JSON Schema validation, and an extensive test suite including conformance tests, race-condition tests, and e2e HTTP tests. The repository also ships a separate otel submodule for OpenTelemetry integration and a docs site under www/. This is purely an application/infrastructure repository; there are no data pipelines, notebooks, or research artifacts. The primary data flow is JSON-RPC messages exchanged between MCP servers and clients, with SSE used for notifications, streaming, and server-to-client requests. The code is strongly standards-driven and tightly tracked to the evolving MCP specification. While the dual-era protocol support adds significant complexity and maintenance burden, the implementation is well-tested, security-conscious, and contains several genuinely reusable components. A few stale example files and commented-out tests exist, but they do not materially affect the quality of the core SDK.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
github/copilot-sdk ★ 10553 1501 APPLICATION

The GitHub Copilot SDK is a multi-language library development kit that enables developers to integrate GitHub Copilot's agentic workflows into their applications. It provides language-specific bindings (Java, .NET, Python, Go, Rust, Node.js) that communicate with the Copilot runtime via JSON-RPC over stdio, WebSocket, or in-memory (FFI) transports. The SDK manages session lifecycle, tool invocation, permission handling, and event processing, allowing host applications to leverage Copilot's AI capabilities for code assistance, chat, and agent-based tasks. The architecture centers around a CopilotClient class that handles connection establishment, session management, and message exchange. Key patterns include a transport abstraction layer for flexible communication, a code generation pipeline that ensures protocol consistency across languages, and extensibility points for defining custom tools and handling user permissions. The SDK supports advanced features such as Model Context Protocol (MCP) integration, custom agents, skills, and telemetry via OpenTelemetry. Code quality is maintained through schema-driven development, extensive unit and end-to-end testing, and clear marking of experimental APIs. The repository demonstrates strong engineering practices with reusable components like the JSON-RPC communication layer, session management patterns, and tool handling interfaces. While the multi-language nature increases maintenance overhead, the SDK remains actively updated with frequent releases and a focus on backward compatibility for stable APIs.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 3 reusable components found
mopidy/mopidy ★ 8598 724 APPLICATION

Mopidy is an extensible, headless music server written in Python. In production it runs as a daemon, plays audio through GStreamer, pulls local files and streaming radio via pluggable backends, and exposes control to clients over HTTP JSON-RPC and WebSockets, with MPD protocol support provided by an external extension. The architecture is modular: a Pykka actor-based core orchestrates library, tracklist, playback, mixer, and history controllers; separate backend, audio, and media layers isolate concerns; and an entry-point-driven extension system lets third parties register backends, frontends, mixers, and CLI commands. Bundled extensions provide local file playback, M3U playlists, HTTP control, a software mixer, and stream handling. The codebase is a modern, typed Python application requiring Python 3.13+, with Pydantic domain models, asyncio/Tornado HTTP handling, a reusable config schema system, and a GStreamer-based media reader that probes metadata and parses playlists. The test suite is extensive (pytest, dummy actors, fixture audio files), and CI covers multiple Python versions. Some legacy APIs are marked deprecated for removal in Mopidy 5.0, but overall the project is actively maintained and structurally coherent. It is not a data/research repository; its only data-heavy aspects are media metadata extraction and playlist parsing.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
modelcontextprotocol/modelcontextprotocol ★ 9458 1869 APPLICATION

This repository is the official home of the Model Context Protocol (MCP), an open standard defining how AI assistants discover and invoke external tools, resources, and prompts over JSON-RPC. In production it operates as a specification and governance hub: versioned TypeScript protocol schemas (2024-11-05 through 2026-07-28 plus draft) are compiled into JSON Schema artifacts, human-readable specification docs are generated and published, and a SEP (Specification Enhancement Proposal) process is automated by a GitHub bot that detects proposals, enforces lifecycle transitions, pings authors, and sends Discord notifications. The architecture is not a monolithic service or microservices; it is a mixed content-plus-tooling repository. The primary code components are the TypeScript schema sources, the schema/doc generation scripts (scripts/generate-schemas.ts, scripts/render-seps.ts), and the sep-automation Node.js application (tools/sep-automation), which uses explicit interfaces for the GitHub client, hooks, and workflow rules. Core data flows are: TypeScript interfaces -> JSON Schema -> published schema files and examples; SEP markdown -> rendered MDX documentation; and GitHub issue/PR events -> SEP state machine -> comments and Discord webhooks. External dependencies include Octokit/GitHub App auth, Discord webhooks, TypeDoc/typescript-json-schema, Mintlify for docs, and Hugo for the blog. Although classified as an application repo because of its runnable tooling, CI/CD, and unit tests, the dominant character is an open-standards documentation and governance project. It is actively maintained, enforces a conformance-testing mandate for SDKs, and contains well-crafted modular code. The main risks are content-version overhead (six dated spec snapshots plus draft, duplicated docs, frozen historical SEPs) and process/doc drift, not software decay.

RATING: 9.3/10 MAINT: active DRIFT: low
▸ 3 reusable components found
AsamK/signal-cli ★ 4898 454 APPLICATION

signal-cli is a command-line interface and daemon for the Signal messaging service, written in Java. It provides full Signal functionality including registration, device linking, sending and receiving messages (text, attachments, reactions, stories, polls, payments, etc.), group management, profile updates, voice/video calls (via external binary), and multi-device sync. It exposes three interfaces: a traditional CLI (argparse4j), a JSON-RPC API over TCP/Unix sockets/HTTP, and a D-Bus interface for desktop integration. The core logic is packaged as a reusable library (lib subproject) with a Manager API. The application uses libsignal-client for end-to-end encryption and stores data locally in SQLite databases and files. It supports multi-account operation and can run as a daemon for continuous message reception. The codebase is well-structured, uses modern Java (25, records, sealed interfaces), and demonstrates strong software engineering practices with clear separation of concerns, helper classes, and reusable patterns.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
a2aproject/A2A ★ 26112 2660 APPLICATION

The Agent2Agent (A2A) Protocol repository defines an open standard for AI agent interoperability. It maintains the canonical Protocol Buffers specification (`a2a.proto`) that defines core data structures (AgentCard, Task, Message, Part, Artifact) and service interfaces for agent communication. The repository includes comprehensive documentation, build scripts for generating JSON Schema and SDK docs, and CI/CD pipelines for validation. Rather than being a runnable application, it serves as a specification foundation for implementing A2A-compliant agents across multiple languages and frameworks. The protocol supports multiple bindings (JSON-RPC, gRPC, HTTP/REST), features like agent discovery via Agent Cards, task-based interaction patterns, streaming, push notifications, and enterprise capabilities including multi-tenancy and modern OAuth 2.0 flows.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 1 reusable components found
openclaw/imsg ★ 1347 183 APPLICATION

This repository is a macOS iMessage/SMS automation tool called `imsg`. It provides a CLI and JSON-RPC interface for reading, watching, and sending messages. The architecture has three layers: a Swift CLI that parses commands and outputs NDJSON or plain text; a core library (`IMsgCore`) that reads the local Messages SQLite database and manages the bridge to Messages.app; and an injected Objective-C dylib (`IMsgHelper`) that hooks into private IMCore APIs for advanced features like typing indicators, polls, stickers, rich links, and message mutations. The tool can fall back to AppleScript automation for basic sends when the bridge is unavailable (e.g., SIP enabled). The RPC server runs over stdio, making it suitable for integration with AI agents and scripts. The codebase is well-tested with unit tests for all layers, including native Objective-C tests for the injected helper. It demonstrates deep reverse-engineering of Apple's private messaging protocols and careful handling of platform-specific quirks. The primary data flow is read-only from the local `chat.db` SQLite database for history and live updates, with write operations going through either AppleScript (via `osascript`) or the injected bridge (via UUID-keyed IPC queues). External dependencies include SQLite.swift, PhoneNumberKit, ffmpeg, afconvert, and private macOS frameworks (IMCore, CNContactStore). The build system uses SwiftPM with custom scripts for universal macOS binaries and Linux static archives. The project is actively maintained with CI, releases, and a documentation site.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
modelcontextprotocol/go-sdk ★ 5053 534 APPLICATION

This repository is the official Go SDK for the Model Context Protocol (MCP), a client/server protocol for AI tool orchestration. It provides production-grade implementations of MCP servers and clients, supporting multiple transports (stdio, SSE, streamable HTTP, in-memory) and full OAuth 2.0 authorization code flows with enterprise extensions. The SDK features typed tool handlers with automatic JSON Schema inference, a middleware system for custom processing, generic pagination helpers, and a schema cache for performance in stateless deployments. It maintains backward compatibility with multiple MCP protocol versions (2024-11-05 through 2026-07-28) using compatibility flags and includes conformance tests against the official MCP test suite. The architecture separates JSON-RPC 2.0 wire protocol, transport abstractions, and core client/server logic, with internal packages for low-level RPC handling, OAuth test infrastructure, and configuration compatibility. While the SDK is actively maintained and well-tested, it carries some technical debt from deprecated features (roots, sampling, logging) and protocol version complexity.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
DitriXNew/EDT-MCP ★ 289 57 APPLICATION

EDT-MCP is an Eclipse/OSGi plugin that implements a Model Context Protocol (MCP) server for 1C:Enterprise Development Tools (EDT). It exposes over 95 MCP tools enabling AI agents (Claude, Copilot, Cursor) to inspect and manipulate EDT workspaces – reading metadata, editing BSL code, running tests, managing debug sessions, performing git operations, and configuring infobases. The server runs as a plugin inside EDT, uses JSON-RPC 2.0 over HTTP/SSE transport, and supports progressive tool disclosure via toolsets. A separate proxy component allows routing MCP calls across multiple EDT backends with hot-plug failover. The architecture is layered: a protocol layer (session management, origin validation, JSON schema building), a tool registry with atomic catalog replacement, utility services for EDT model access (BmTransactions, ProjectContext, DebugSessionRegistry), and UI extensions (metadata tagging, virtual groups, call history view). The build uses Maven/Tycho and produces a p2 update site for EDT 2026.1 and 2026.2. Test coverage includes headless unit tests (JUnit/Mockito), Python e2e tests against a live server, conformance tests against the official MCP conformance suite, and ratchet tests that enforce coding standards, error quality, schema parity, and mutation safety. Key engineering patterns include: idempotent tool execution with destructive consent gates, PII redaction via HMAC pseudonymization, optimistic locking via ContentHash for read-modify-write cycles, bilingual Russian/English FQN normalization, and strict separation of read/write transactions (reads use IBmModel.executeReadonlyTask, writes use execute). The codebase is well-maintained with active issue triage and CI/CD pipelines.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 8 reusable components found
darknessomi/musicbox ★ 9856 1567 APPLICATION

NetEase-MusicBox is a Python 3.10+ terminal client for NetEase Cloud Music (music.163.com), sold as the `musicbox` command. It is a hybrid application: an interactive curses TUI, an agent-facing stateless CLI, and a resident background daemon (`musicboxd`) that owns playback state. The TUI and daemon are mutually exclusive via a flock single-owner lock; control commands reach the daemon over a 0600-permission Unix domain socket using newline-delimited JSON-RPC. Audio plays through subprocess backends (mpg123 for MP3, mpv for FLAC/hi-res with IPC seek/volume control), and all NetEase API access goes through reverse-engineered weapi/eapi encryption (RSA+AES and AES-ECB with PKCS7/gzip handling). Login is QR-code scan only; session cookies and player state persist to XDG-compliant JSON/text files.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
a2aproject/a2a-python ★ 2125 492 APPLICATION

This repository implements the Agent-to-Agent (A2A) protocol in Python. It is a comprehensive SDK providing both server and client libraries for building interoperable agent systems. The architecture is modular with abstract interfaces (AgentExecutor, TaskStore, ClientTransport) and supports multiple transports: JSON‑RPC, REST/HTTP+JSON, and gRPC, with a full backward‑compatibility layer for v0.3. Key features include agent card signing/verification (JCS canonicalization), push notifications, event streaming, and database persistence via SQLAlchemy. The codebase is well-structured with extensive automated testing (unit, integration, cross‑version, and conformance), CI/CD pipelines, and release automation. While primarily an SDK for protocol compliance, it also includes a sample agent application and an interop test kit.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
airalab/hs-web3 ★ 198 68 APPLICATION

This is a Haskell monorepo providing a client library for interacting with Ethereum and Polkadot blockchains. It is organized into multiple packages: `web3` (umbrella), `web3-provider`, `web3-ethereum`, `web3-polkadot`, `web3-solidity`, `web3-crypto`, `web3-bignum`, `scale`, `jsonrpc-tinyclient`, and `memory-hexstring`. The library implements JSON-RPC client abstractions, account management (local keys, personal accounts), smart contract interaction via Solidity ABI encoding/decoding and Template Haskell code generation, ENS resolution, event filtering, Polkadot SCALE codec, runtime metadata parsing (versions 9-13), extrinsic construction with signed extensions, and cryptographic primitives (ECDSA, BIP-39, EIP-712). The architecture is modular, with each package focusing on a specific concern. Key entry points include `Network.Web3.Provider` for connecting to nodes, `Network.Ethereum.Contract.TH` for generating contract bindings, and `Network.Polkadot.Extrinsic` for building and signing transactions. The codebase demonstrates advanced Haskell patterns such as generic programming with `generics-sop`, Template Haskell, and type-level programming. While the library is well-structured and covers a broad set of blockchain interactions, there are signs of technical drift: some metadata versions are partially implemented, commented-out code exists, and dependency bounds are tight. Overall, it is a solid, actively maintained library suitable for Haskell-based blockchain development.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
openatx/uiautomator2 ★ 8424 1606 APPLICATION

This repository provides the Python library `uiautomator2` for Android UI automation. It allows scripts to control Android devices by sending HTTP/JSON-RPC requests to an on-device server (either a Java-based UiAutomator2 jar or the older atx-agent). The core functionality includes element selection via selectors and XPath, gesture simulation (click, swipe, drag), text input via an IME, screenshot capture, UI hierarchy dumps, and app management. It also ships a CLI tool (`u2cli`) with subcommands for device inspection, app operations, and an agent server that exposes a persistent API for LLM/agent-based interactions. The architecture follows a client-server pattern where the Python client communicates over ADB-forwarded ports. The repository includes extensions for HTML reports, performance monitoring, and device info lookups, as well as archived modules for OCR and image recognition. It is widely used for automated testing of Android applications.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
steemit/steem ★ 1947 794 APPLICATION

This repository implements the Steem blockchain node (steemd), a Delegated Proof-of-Stake (DPoS) consensus platform with social media features. The system processes transactions, maintains chain state via shared-memory (chainbase) or RocksDB (MIRA) backends, and exposes a JSON-RPC API for querying accounts, blocks, market history, and social features like follows and tags. It includes a plugin architecture (appbase) for modular functionality, with plugins for witness production, P2P networking, resource credits (RC), account history, market history, and more. The codebase is written in C++17 and relies heavily on the custom fc library for asynchronous I/O, cryptography, serialization, and reflection. The architecture is a monolithic node daemon with a plugin system. Key entry points are the steemd binary (programs/steemd/main.cpp) and the CLI wallet (programs/cli_wallet/main.cpp). Data flows from P2P network messages through the chain plugin to the database, with operations evaluated by evaluators and state changes persisted via chainbase or MIRA. External dependencies include Boost, OpenSSL, RocksDB, and secp256k1-zkp. The repository also contains extensive Python test scripts for API regression and integration testing. While the codebase is well-structured and demonstrates advanced C++ patterns (static_variant, multi-index containers, reflection), it shows signs of technical drift: legacy plugins coexist with appbase plugins, conditional compilation for SMT and MIRA features, and several FC_TODO comments indicating incomplete migrations. The fc library itself is a reusable foundation but tightly coupled to the project's threading model.

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