agent-discover 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +51 -36
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -3,15 +3,17 @@
3
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
4
4
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20.11-brightgreen)](https://nodejs.org/)
5
5
  [![MCP Tools](https://img.shields.io/badge/MCP%20tools-2-purple)]()
6
- [![REST Endpoints](https://img.shields.io/badge/REST-16%20endpoints-orange)]()
6
+ [![REST Endpoints](https://img.shields.io/badge/REST-18%20endpoints-orange)]()
7
7
 
8
8
  **MCP server registry and marketplace.** Discover, install, activate, and manage MCP tools on demand. Acts as a dynamic proxy -- activated servers have their tools merged into the registry's own tool list, so agents can use them without restarting.
9
9
 
10
+ Built for AI coding agents (Claude Code, Codex CLI, Gemini CLI, Aider) but works equally well with any MCP client, REST consumer, or WebSocket listener.
11
+
10
12
  ---
11
13
 
12
- | Light Theme | Dark Theme |
13
- | ---------------------------------------------- | -------------------------------------------- |
14
- | ![Light mode](docs/screenshots/light-mode.png) | ![Dark mode](docs/screenshots/dark-mode.png) |
14
+ | Light Theme | Dark Theme |
15
+ | ------------------------------------------ | ---------------------------------------- |
16
+ | ![Light Theme](docs/screenshots/light.png) | ![Dark Theme](docs/screenshots/dark.png) |
15
17
 
16
18
  ---
17
19
 
@@ -28,19 +30,24 @@ Static MCP configs mean every server is always running, even when unused. Adding
28
30
  | **Monitoring** | No visibility into server health | Health checks, per-tool metrics, error counts |
29
31
  | **Management** | Manual config edits | Dashboard + REST API for config, tags |
30
32
 
31
- **agent-discover** solves this:
33
+ ---
32
34
 
33
- - **Register** MCP servers in a local SQLite database
34
- - **Browse** the official MCP registry (`registry.modelcontextprotocol.io`) and install with one tool call
35
- - **Activate/deactivate** servers on demand -- their tools appear and disappear dynamically
36
- - **Proxy** tool calls transparently -- activated server tools are namespaced as `serverName__toolName`
37
- - **Manage secrets** -- store API keys and tokens per server, automatically injected as env vars on activation
38
- - **Monitor health** -- run health checks, track health status and error counts
39
- - **Track metrics** -- per-tool call counts, error counts, and average latency recorded automatically
40
- - **Edit config** -- update server description, command, args, env, and tags via REST or dashboard
41
- - A **web dashboard** shows everything in real time at http://localhost:3424
35
+ ## Features
36
+
37
+ - **Local registry** -- register MCP servers in a SQLite database with name, command, args, env, tags
38
+ - **Marketplace browser** -- search the official MCP registry (`registry.modelcontextprotocol.io`) and install with one tool call
39
+ - **On-demand activation** -- activate/deactivate servers at runtime; their tools appear and disappear dynamically
40
+ - **Tool proxying** -- activated server tools are namespaced as `serverName__toolName` and merged into the tool list
41
+ - **Multi-transport** -- supports stdio, SSE, and streamable-http transports for connecting to child servers
42
+ - **Secret management** -- store API keys and tokens per server, automatically injected as env vars (stdio) or HTTP headers (SSE/streamable-http) on activation
43
+ - **Health checks** -- connect/disconnect probes for inactive servers, tool-list checks for active ones, with error count tracking
44
+ - **Per-tool metrics** -- call counts, error counts, and average latency recorded automatically on every proxied tool call
45
+ - **Full-text search** -- FTS5 search across server names, descriptions, and tags
46
+ - **NPM pre-download** -- fire-and-forget `npm cache add` on registration for npx-based servers, plus a dedicated preinstall endpoint
47
+ - **Real-time dashboard** -- web UI at http://localhost:3424 with Servers and Browse tabs, dark/light theme, WebSocket updates
48
+ - **3 transport layers** -- MCP (stdio), REST API (HTTP), WebSocket (real-time events)
42
49
 
43
- It works with any agent that supports [MCP](https://modelcontextprotocol.io/) (stdio transport) or can make HTTP requests (REST API).
50
+ ---
44
51
 
45
52
  ## Quick Start
46
53
 
@@ -67,7 +74,7 @@ npm run build
67
74
 
68
75
  ### Option 1: MCP server (for AI agents)
69
76
 
70
- Add to your MCP client config (Claude Code, Cline, etc.):
77
+ Add to your MCP client config (Claude Code, Cline, Cursor, Windsurf, etc.):
71
78
 
72
79
  ```json
73
80
  {
@@ -103,28 +110,30 @@ Activated servers expose their tools through agent-discover, namespaced as `serv
103
110
 
104
111
  ---
105
112
 
106
- ## REST API (16 endpoints)
113
+ ## REST API (18 endpoints)
107
114
 
108
115
  All endpoints return JSON. CORS enabled.
109
116
 
110
- | Method | Path | Description |
111
- | ------ | ------------------------------- | ----------------------------------------------------------------- |
112
- | GET | `/health` | Version, uptime |
113
- | GET | `/api/servers` | List servers (`?query=`, `?source=`, `?installed=`) |
114
- | GET | `/api/servers/:id` | Server details + tools |
115
- | POST | `/api/servers` | Register new server |
116
- | PUT | `/api/servers/:id` | Update server config (description, command, args, env, tags) |
117
- | DELETE | `/api/servers/:id` | Unregister (deactivates first if active) |
118
- | POST | `/api/servers/:id/activate` | Activate -- start server, discover tools, begin proxying |
119
- | POST | `/api/servers/:id/deactivate` | Deactivate -- stop server, remove tools |
120
- | GET | `/api/servers/:id/secrets` | List secrets (masked values) |
121
- | PUT | `/api/servers/:id/secrets/:key` | Set a secret (upsert) |
122
- | DELETE | `/api/servers/:id/secrets/:key` | Delete a secret |
123
- | POST | `/api/servers/:id/health` | Run health check (connect/disconnect probe) |
124
- | GET | `/api/servers/:id/metrics` | Per-tool metrics for a server (call count, errors, latency) |
125
- | GET | `/api/metrics` | Metrics overview across all servers |
126
- | GET | `/api/browse` | Proxy to official MCP registry (`?query=`, `?limit=`, `?cursor=`) |
127
- | GET | `/api/status` | Active servers summary (names, tool counts, tool lists) |
117
+ ```
118
+ GET /health Version, uptime
119
+ GET /api/servers List servers (?query=, ?source=, ?installed=)
120
+ GET /api/servers/:id Server details + tools
121
+ POST /api/servers Register new server
122
+ PUT /api/servers/:id Update server config (description, command, args, env, tags)
123
+ DELETE /api/servers/:id Unregister (deactivates first if active)
124
+ POST /api/servers/:id/activate Activate -- start server, discover tools, begin proxying
125
+ POST /api/servers/:id/deactivate Deactivate -- stop server, remove tools
126
+ POST /api/servers/:id/preinstall Pre-download npx package to npm cache
127
+ GET /api/servers/:id/secrets List secrets (masked values)
128
+ PUT /api/servers/:id/secrets/:key Set a secret (upsert)
129
+ DELETE /api/servers/:id/secrets/:key Delete a secret
130
+ POST /api/servers/:id/health Run health check (connect/disconnect probe)
131
+ GET /api/servers/:id/metrics Per-tool metrics for a server (call count, errors, latency)
132
+ GET /api/metrics Metrics overview across all servers
133
+ GET /api/browse Proxy to official MCP registry (?query=, ?limit=, ?cursor=)
134
+ GET /api/npm-check Check if an npm package exists (?package=)
135
+ GET /api/status Active servers summary (names, tool counts, tool lists)
136
+ ```
128
137
 
129
138
  ---
130
139
 
@@ -144,7 +153,9 @@ Real-time updates via WebSocket with 2-second database polling. Dark and light t
144
153
 
145
154
  ```bash
146
155
  npm test # Run tests
147
- npm run check # Full check (typecheck + lint + format + test)
156
+ npm run test:watch # Watch mode
157
+ npm run test:coverage # Coverage report
158
+ npm run check # Full CI: typecheck + lint + format + test
148
159
  ```
149
160
 
150
161
  ---
@@ -161,6 +172,10 @@ npm run check # Full check (typecheck + lint + format + test)
161
172
  ## Documentation
162
173
 
163
174
  - [User Manual](docs/USER-MANUAL.md) -- comprehensive guide covering all tools, REST API, dashboard, and troubleshooting
175
+ - [API Reference](docs/API.md) -- all MCP tools and REST endpoints
176
+ - [Architecture](docs/ARCHITECTURE.md) -- source structure, design principles, database schema
177
+ - [Dashboard](docs/DASHBOARD.md) -- web UI views and features
178
+ - [Setup Guide](docs/SETUP.md) -- installation, client setup (Claude Code, Cursor, Windsurf)
164
179
  - [Changelog](CHANGELOG.md)
165
180
 
166
181
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-discover",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "mcpName": "io.github.keshrath/agent-discover",
5
5
  "description": "MCP server registry and marketplace — discover, install, activate, and manage MCP tools on demand",
6
6
  "type": "module",