mcp-www 0.1.0 → 0.1.2

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # mcp-browse
1
+ # mcp-www
2
2
 
3
3
  **DNS-based MCP service discovery over UDP.**
4
4
 
@@ -8,26 +8,54 @@ Agents need to discover MCP servers, but current approaches lean on centralized
8
8
 
9
9
  ## How It Works
10
10
 
11
- **mcp-browse** is itself a standard MCP server. An agent connects to it the same way it connects to any other MCP server — no new client code, no special SDK, no registry signup.
11
+ **mcp-www** is itself a standard MCP server. An agent connects to it the same way it connects to any other MCP server — no new client code, no special SDK, no registry signup.
12
12
 
13
- Once connected, the agent calls the `browse_domain` tool with a domain name. mcp-browse performs a standard **UDP DNS TXT lookup** for `_mcp.{domain}`, parses the semicolon-delimited record, and returns structured metadata about the MCP servers published by that domain.
13
+ Once connected, the agent calls the `browse_domain` tool with a domain name. mcp-www performs a standard **UDP DNS TXT lookup** for `_mcp.{domain}`, parses the semicolon-delimited record, and returns structured metadata about the MCP servers published by that domain.
14
14
 
15
15
  ```
16
- Agent → mcp-browse (MCP server) → UDP DNS query for _mcp.example.com TXT
16
+ Agent → mcp-www (MCP server) → UDP DNS query for _mcp.example.com TXT
17
17
  ← "v=mcp1; src=https://mcp.example.com; ..."
18
18
  ← Structured JSON response
19
19
  ```
20
20
 
21
21
  No HTTP registry in the loop. The DNS infrastructure **is** the registry.
22
22
 
23
+ ## Install
24
+
25
+ ```bash
26
+ npm install -g mcp-www
27
+ ```
28
+
29
+ Or use directly with `npx`:
30
+
31
+ ```bash
32
+ npx mcp-www
33
+ ```
34
+
35
+ ### Claude Code / MCP Client Config
36
+
37
+ Add to your MCP client config (e.g., `.mcp.json`):
38
+
39
+ ```json
40
+ {
41
+ "mcpServers": {
42
+ "mcp-www": {
43
+ "type": "stdio",
44
+ "command": "npx",
45
+ "args": ["mcp-www"]
46
+ }
47
+ }
48
+ }
49
+ ```
50
+
23
51
  ## Key Design Points
24
52
 
25
53
  - **Uses UDP DNS (port 53) for lookups** — the lightest possible network primitive. No TCP handshake, no TLS negotiation, no HTTP overhead. A single UDP packet out, a single packet back.
26
54
  - **The DNS infrastructure IS the registry** — no additional servers to deploy, no uptime to maintain, no accounts to create. If you can publish a TXT record, you can advertise your MCP server.
27
- - **mcp-browse is a standard MCP server** — any MCP-compliant agent can use it with zero new client code. It's just another server in your agent's config.
55
+ - **mcp-www is a standard MCP server** — any MCP-compliant agent can use it with zero new client code. It's just another server in your agent's config.
28
56
  - **Supports the `_mcp` TXT record convention** — records follow a semicolon-delimited format:
29
57
  ```
30
- v=mcp1; src=https://mcp.example.com; public=true; auth=oauth2; version=2024.1
58
+ v=mcp1; src=https://mcp.example.com; auth=oauth2
31
59
  ```
32
60
  - **Works with split-horizon DNS** — enterprise and private networks can publish internal `_mcp` records visible only inside their network, enabling private service discovery without exposing anything to the public internet.
33
61
 
@@ -151,10 +179,10 @@ Feedback, criticism, and alternative approaches are welcome — open an issue or
151
179
 
152
180
  ## Related
153
181
 
154
- - [Model Context Protocol Specification](https://spec.modelcontextprotocol.io)
155
- - [MCP Discussion #2334](https://github.com/modelcontextprotocol/specification/discussions/2334)
156
- - [MCP PR #2127](https://github.com/modelcontextprotocol/specification/pull/2127)
157
- - [MCP SEP #1959](https://github.com/nicobailon/mcp-seps/blob/main/SEP/1959/README.md)
182
+ - [Model Context Protocol Specification](https://modelcontextprotocol.io/specification)
183
+ - [DNS TXT records for organisation-scoped registry discovery](https://github.com/modelcontextprotocol/modelcontextprotocol/discussions/2334) — Discussion #2334
184
+ - [DNS-native MCP discovery: a zero-infrastructure alternative](https://github.com/modelcontextprotocol/modelcontextprotocol/discussions/2368) — Discussion #2368
185
+ - [SEP-2127: MCP Server Cards — HTTP Server Discovery via .well-known](https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2127)
158
186
 
159
187
  ## License
160
188
 
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * mcp-browse
3
+ * mcp-www
4
4
  *
5
5
  * A lightweight MCP server that performs DNS-based discovery of MCP services
6
6
  * using UDP lookups. No registry server needed.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  /**
4
- * mcp-browse
4
+ * mcp-www
5
5
  *
6
6
  * A lightweight MCP server that performs DNS-based discovery of MCP services
7
7
  * using UDP lookups. No registry server needed.
@@ -64,7 +64,7 @@ async function inspectMcpServer(url) {
64
64
  params: {
65
65
  protocolVersion: "2024-11-05",
66
66
  capabilities: {},
67
- clientInfo: { name: "mcp-browse", version: "0.1.0" },
67
+ clientInfo: { name: "mcp-www", version: "0.1.0" },
68
68
  },
69
69
  }),
70
70
  });
@@ -121,7 +121,7 @@ async function initRemoteServer(url) {
121
121
  params: {
122
122
  protocolVersion: "2024-11-05",
123
123
  capabilities: {},
124
- clientInfo: { name: "mcp-browse", version: "0.1.0" },
124
+ clientInfo: { name: "mcp-www", version: "0.1.0" },
125
125
  },
126
126
  }),
127
127
  });
@@ -180,13 +180,13 @@ function formatServerResult(serverData, url) {
180
180
  }
181
181
  // --- Server Setup ---
182
182
  const server = new index_js_1.Server({
183
- name: "mcp-browse",
183
+ name: "mcp-www",
184
184
  version: "0.1.0",
185
185
  }, {
186
186
  capabilities: {
187
187
  tools: {},
188
188
  },
189
- instructions: "When a user mentions a domain name, company, or website — or when you need to find tools and services related to a domain — use mcp-browse first. " +
189
+ instructions: "When a user mentions a domain name, company, or website — or when you need to find tools and services related to a domain — use mcp-www first. " +
190
190
  "Start with browse_discover to look up the domain and inspect what MCP services it offers in a single step. " +
191
191
  "If you already have a server URL, use browse_server to see its tools, resources, and prompts. " +
192
192
  "Then use call_remote_tool to execute tools on discovered servers.",
@@ -509,7 +509,7 @@ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
509
509
  async function main() {
510
510
  const transport = new stdio_js_1.StdioServerTransport();
511
511
  await server.connect(transport);
512
- console.error("mcp-browse server running on stdio");
512
+ console.error("mcp-www server running on stdio");
513
513
  }
514
514
  main().catch((err) => {
515
515
  console.error("Fatal error:", err);
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "mcp-www",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Lightweight MCP server for DNS-based agent service discovery over UDP. No registry needed.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "bin": {
8
- "mcp-browse": "dist/index.js"
8
+ "mcp-www": "dist/index.js"
9
9
  },
10
10
  "files": [
11
11
  "dist",
@@ -13,6 +13,7 @@
13
13
  ],
14
14
  "scripts": {
15
15
  "build": "tsc",
16
+ "prepublishOnly": "npm run build",
16
17
  "start": "node dist/index.js",
17
18
  "dev": "ts-node src/index.ts"
18
19
  },
@@ -26,8 +27,15 @@
26
27
  ],
27
28
  "author": "kormco",
28
29
  "license": "MIT",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/kormco/mcp-www.git"
33
+ },
34
+ "engines": {
35
+ "node": ">=18"
36
+ },
29
37
  "dependencies": {
30
- "@modelcontextprotocol/sdk": "^1.0.0"
38
+ "@modelcontextprotocol/sdk": "^1.27.0"
31
39
  },
32
40
  "devDependencies": {
33
41
  "typescript": "^5.4.0",