@luthersystems/agentsearch 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +46 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +149 -0
- package/dist/index.js.map +1 -0
- package/package.json +43 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Luther Systems
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# @luthersystems/agentsearch
|
|
2
|
+
|
|
3
|
+
Model Context Protocol server for [AgentSearch](https://agentsearch.luthersystems.com).
|
|
4
|
+
|
|
5
|
+
Lets any MCP-compatible client (Claude Desktop, Claude Code, Cursor, …) search a
|
|
6
|
+
daily-scored, curated index of AI agents and MCP servers — ranked by
|
|
7
|
+
reachability, usability, functionality, and per-query relevance.
|
|
8
|
+
|
|
9
|
+
## Install & run
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npx -y @luthersystems/agentsearch
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Add to your MCP client
|
|
16
|
+
|
|
17
|
+
`~/Library/Application Support/Claude/claude_desktop_config.json` (or the
|
|
18
|
+
equivalent location for your client):
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"mcpServers": {
|
|
23
|
+
"agentsearch": { "command": "npx", "args": ["-y", "@luthersystems/agentsearch"] }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Tools exposed
|
|
29
|
+
|
|
30
|
+
| Tool | Description |
|
|
31
|
+
|---|---|
|
|
32
|
+
| `search` | Ranked agents for a natural-language query (final_score = query_fit × agent_quality) |
|
|
33
|
+
| `agent_details` | Full scored profile of one indexed agent |
|
|
34
|
+
| `found_agent` | Live-score any arbitrary agent URL using the same rubric |
|
|
35
|
+
| `browse` | Paginated list of every indexed agent, ranked by overall quality |
|
|
36
|
+
| `stats` | Index-level summary stats |
|
|
37
|
+
|
|
38
|
+
## Configuration
|
|
39
|
+
|
|
40
|
+
| Env var | Default | Purpose |
|
|
41
|
+
|---|---|---|
|
|
42
|
+
| `AGENTSEARCH_BASE_URL` | `https://agentsearch.luthersystems.com` | Override to point at a self-hosted instance |
|
|
43
|
+
|
|
44
|
+
## License
|
|
45
|
+
|
|
46
|
+
MIT
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// AgentSearch MCP server.
|
|
3
|
+
// Speaks the Model Context Protocol over stdio and proxies tool calls to the
|
|
4
|
+
// public AgentSearch HTTP endpoints at https://agentsearch.luthersystems.com.
|
|
5
|
+
//
|
|
6
|
+
// Add to any MCP-compatible client (Claude Desktop, Claude Code, Cursor, …):
|
|
7
|
+
//
|
|
8
|
+
// {
|
|
9
|
+
// "mcpServers": {
|
|
10
|
+
// "agentsearch": { "command": "npx", "args": ["-y", "@luthersystems/agentsearch"] }
|
|
11
|
+
// }
|
|
12
|
+
// }
|
|
13
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
14
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
15
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
16
|
+
const BASE_URL = process.env.AGENTSEARCH_BASE_URL || "https://agentsearch.luthersystems.com";
|
|
17
|
+
const USER_AGENT = "agentsearch-mcp/0.1.0";
|
|
18
|
+
// ── Tool definitions ────────────────────────────────────────────────────────
|
|
19
|
+
const TOOLS = [
|
|
20
|
+
{
|
|
21
|
+
name: "search",
|
|
22
|
+
description: "Search the AgentSearch index for AI agents and MCP servers matching a natural-language query. " +
|
|
23
|
+
"Results are ranked by final_score = query_fit × agent_quality. " +
|
|
24
|
+
"Use this when the user asks 'find me an agent that does X' or 'what MCP server can Y'.",
|
|
25
|
+
inputSchema: {
|
|
26
|
+
type: "object",
|
|
27
|
+
properties: {
|
|
28
|
+
query: { type: "string", description: "Natural-language description of what the agent should do." },
|
|
29
|
+
limit: { type: "integer", minimum: 1, maximum: 25, default: 10 },
|
|
30
|
+
},
|
|
31
|
+
required: ["query"],
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: "agent_details",
|
|
36
|
+
description: "Get the full scored profile for one indexed agent (by name). Returns inventory data, layer scores " +
|
|
37
|
+
"(Fame / Usability / Functionality / Call Graph), reasoning, and live blocker status.",
|
|
38
|
+
inputSchema: {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {
|
|
41
|
+
name: { type: "string", description: "Exact agent name as it appears in the index." },
|
|
42
|
+
},
|
|
43
|
+
required: ["name"],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: "found_agent",
|
|
48
|
+
description: "Live-score an arbitrary agent URL that may or may not be in the index. Crawls the URL, runs the " +
|
|
49
|
+
"viability + probe gates, then scores Fame / Usability / Functionality via the same rubric prompts " +
|
|
50
|
+
"the batch pipeline uses. Useful when the user mentions an agent you can't find in `search`.",
|
|
51
|
+
inputSchema: {
|
|
52
|
+
type: "object",
|
|
53
|
+
properties: {
|
|
54
|
+
url: { type: "string", description: "Primary URL of the agent (homepage, GitHub repo, A2A card, …)." },
|
|
55
|
+
name: { type: "string", description: "Display name (optional — defaults to the URL)." },
|
|
56
|
+
query: { type: "string", description: "Optional user query, used for the search-match judge." },
|
|
57
|
+
},
|
|
58
|
+
required: ["url"],
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: "browse",
|
|
63
|
+
description: "Paginated list of every indexed agent, ranked by overall quality. Use to skim the top of the index " +
|
|
64
|
+
"or to explore systematically.",
|
|
65
|
+
inputSchema: {
|
|
66
|
+
type: "object",
|
|
67
|
+
properties: {
|
|
68
|
+
page: { type: "integer", minimum: 1, default: 1 },
|
|
69
|
+
page_size: { type: "integer", minimum: 1, maximum: 200, default: 100 },
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: "stats",
|
|
75
|
+
description: "Index-level statistics: total agents, source breakdown, license breakdown, top capability clusters, " +
|
|
76
|
+
"and how many agents are reachable right now.",
|
|
77
|
+
inputSchema: { type: "object", properties: {} },
|
|
78
|
+
},
|
|
79
|
+
];
|
|
80
|
+
// ── HTTP helpers ────────────────────────────────────────────────────────────
|
|
81
|
+
async function postJson(path, body) {
|
|
82
|
+
const res = await fetch(`${BASE_URL}${path}`, {
|
|
83
|
+
method: "POST",
|
|
84
|
+
headers: { "content-type": "application/json", "user-agent": USER_AGENT },
|
|
85
|
+
body: JSON.stringify(body),
|
|
86
|
+
});
|
|
87
|
+
if (!res.ok)
|
|
88
|
+
throw new Error(`${path} → HTTP ${res.status}`);
|
|
89
|
+
return res.json();
|
|
90
|
+
}
|
|
91
|
+
async function getJson(path) {
|
|
92
|
+
const res = await fetch(`${BASE_URL}${path}`, {
|
|
93
|
+
headers: { accept: "application/json", "user-agent": USER_AGENT },
|
|
94
|
+
});
|
|
95
|
+
if (!res.ok)
|
|
96
|
+
throw new Error(`${path} → HTTP ${res.status}`);
|
|
97
|
+
return res.json();
|
|
98
|
+
}
|
|
99
|
+
// ── Tool dispatch ───────────────────────────────────────────────────────────
|
|
100
|
+
async function callTool(name, args) {
|
|
101
|
+
switch (name) {
|
|
102
|
+
case "search": {
|
|
103
|
+
const { query, limit } = args;
|
|
104
|
+
const data = await postJson("/api/search", { query, limit });
|
|
105
|
+
return { query, results: (data.results ?? []).slice(0, limit ?? 10) };
|
|
106
|
+
}
|
|
107
|
+
case "agent_details": {
|
|
108
|
+
const { name: agentName } = args;
|
|
109
|
+
return getJson(`/api/agent/${encodeURIComponent(agentName)}`);
|
|
110
|
+
}
|
|
111
|
+
case "found_agent": {
|
|
112
|
+
const { url, name: agentName, query } = args;
|
|
113
|
+
return postJson("/api/found-agent", { url, name: agentName, query });
|
|
114
|
+
}
|
|
115
|
+
case "browse": {
|
|
116
|
+
const { page = 1, page_size = 100 } = args;
|
|
117
|
+
return getJson(`/api/browse?page=${page}&page_size=${page_size}`);
|
|
118
|
+
}
|
|
119
|
+
case "stats": {
|
|
120
|
+
return getJson("/api/stats");
|
|
121
|
+
}
|
|
122
|
+
default:
|
|
123
|
+
throw new Error(`unknown tool: ${name}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
// ── Server bootstrap ────────────────────────────────────────────────────────
|
|
127
|
+
const server = new Server({ name: "agentsearch", version: "0.1.0" }, { capabilities: { tools: {} } });
|
|
128
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
|
|
129
|
+
server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
130
|
+
const { name, arguments: args = {} } = req.params;
|
|
131
|
+
try {
|
|
132
|
+
const result = await callTool(name, args);
|
|
133
|
+
return {
|
|
134
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
139
|
+
return {
|
|
140
|
+
isError: true,
|
|
141
|
+
content: [{ type: "text", text: `agentsearch error: ${msg}` }],
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
const transport = new StdioServerTransport();
|
|
146
|
+
await server.connect(transport);
|
|
147
|
+
// Stderr is reserved for human-readable diagnostics in MCP; never log to stdout.
|
|
148
|
+
console.error(`[agentsearch-mcp] connected · proxying to ${BASE_URL}`);
|
|
149
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@luthersystems/agentsearch",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Model Context Protocol server for AgentSearch — find AI agents and MCP servers ranked by reachability, usability and quality.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"bin": {
|
|
9
|
+
"agentsearch-mcp": "dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"files": ["dist", "README.md", "LICENSE"],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"start": "node dist/index.js",
|
|
15
|
+
"dev": "tsx src/index.ts"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@modelcontextprotocol/sdk": "^1.0.0"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@types/node": "^22.0.0",
|
|
22
|
+
"tsx": "^4.19.0",
|
|
23
|
+
"typescript": "^5.5.0"
|
|
24
|
+
},
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=18"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"mcp",
|
|
30
|
+
"model-context-protocol",
|
|
31
|
+
"agent",
|
|
32
|
+
"agent-discovery",
|
|
33
|
+
"agent-search",
|
|
34
|
+
"a2a",
|
|
35
|
+
"ai-agents"
|
|
36
|
+
],
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/luthersystems/agentsearch.git",
|
|
40
|
+
"directory": "mcp"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://agentsearch.luthersystems.com"
|
|
43
|
+
}
|