@thepulseapi/mcp 0.2.0 → 0.2.1

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 (3) hide show
  1. package/README.md +12 -3
  2. package/package.json +4 -4
  3. package/server.mjs +1 -1
package/README.md CHANGED
@@ -2,8 +2,11 @@
2
2
 
3
3
  The [PULSE developer documentation](https://developer.thepulseapi.com) as an MCP server, so an
4
4
  agent can search and read it rather than recalling an endpoint that may not exist. And, with an
5
- API key, the PULSE Decision API: which of these products meet what the shopper asked for, and
6
- which the listing cannot tell.
5
+ API key, the PULSE Decision API: which of these options meet what was asked for, and which the
6
+ evidence cannot tell. Part of [Open Pulse](https://github.com/mypulseapi/open-pulse).
7
+
8
+ An agent that can say "the evidence does not say" stops guessing. `resolve_products` never fills
9
+ in a fact the evidence does not state: it reports it as unknown, with what is missing.
7
10
 
8
11
  ```json
9
12
  {
@@ -23,7 +26,7 @@ which the listing cannot tell.
23
26
  | `search_docs` | Full-text search across every page. Returns the matching section, its URL and a score |
24
27
  | `get_page` | One page as Markdown, by path |
25
28
  | `list_pages` | Every page with its title |
26
- | `resolve_products` | Per candidate and requirement: meets, fails or cannot tell, and what is missing. Calls `POST /decide`; needs `PULSE_API_KEY` |
29
+ | `resolve_products` | Per requirement: meets, fails, unknown or conflicting; per option: fits, fails or cannot tell, and what is missing. Works for any options with attributes, not only products. Calls `POST /decide`; needs `PULSE_API_KEY` |
27
30
 
28
31
  The three docs tools take a `lang` of `en` or `vi`.
29
32
 
@@ -39,6 +42,12 @@ The three docs tools take a `lang` of `en` or `vi`.
39
42
  }
40
43
  ```
41
44
 
45
+ ## Use it well
46
+
47
+ Tell the agent: *"Before recommending an option, call resolve_products, and never state an
48
+ attribute it marked unknown."* Generate presentation from verified evidence; never generate an
49
+ unverified fact.
50
+
42
51
  ## Notes
43
52
 
44
53
  It runs on your machine and fetches the published index at startup, so it is current without a
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@thepulseapi/mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "MCP server for PULSE: search the developer documentation, and ask the Decision API which products meet a shopper's requirements.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "bin": {
8
- "pulse-mcp": "./server.mjs"
8
+ "pulse-mcp": "server.mjs"
9
9
  },
10
10
  "files": [
11
11
  "server.mjs",
@@ -21,11 +21,11 @@
21
21
  },
22
22
  "repository": {
23
23
  "type": "git",
24
- "url": "git+https://github.com/mypulseapi/pulse.git",
24
+ "url": "git+https://github.com/mypulseapi/open-pulse.git",
25
25
  "directory": "packages/mcp"
26
26
  },
27
27
  "bugs": {
28
- "url": "https://github.com/mypulseapi/pulse/issues"
28
+ "url": "https://github.com/mypulseapi/open-pulse/issues"
29
29
  },
30
30
  "homepage": "https://developer.thepulseapi.com/mcp",
31
31
  "keywords": [
package/server.mjs CHANGED
@@ -112,7 +112,7 @@ const index = await load();
112
112
  const rank = makeRanker(index.chunks);
113
113
  const pageUrls = [...new Set(index.chunks.map((c) => c.u))].sort();
114
114
 
115
- const mcp = new McpServer({ name: "pulse", version: "0.2.0" });
115
+ const mcp = new McpServer({ name: "pulse", version: "0.2.1" });
116
116
 
117
117
  mcp.registerTool(
118
118
  "search_docs",