opedd-mcp 0.6.4 → 0.6.6

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
@@ -33,6 +33,53 @@ npx opedd-mcp
33
33
 
34
34
  Then add it to your MCP host (see [Claude Desktop / Cursor / Windsurf setup](#claude-desktop-setup) below). Discovery + verification tools work with no configuration; purchasing and content retrieval use optional API keys from [opedd.com](https://opedd.com).
35
35
 
36
+ ## Hosted endpoint — no install (mcp.opedd.com)
37
+
38
+ Prefer zero-install? The same 17 tools are served hosted at **`https://mcp.opedd.com/mcp`** (Streamable HTTP). Auth is an `Authorization: Bearer` header with any Opedd key — public discovery tools need no auth at all.
39
+
40
+ **Claude Messages API** (production agents):
41
+
42
+ ```json
43
+ {
44
+ "mcp_servers": [{
45
+ "type": "url",
46
+ "url": "https://mcp.opedd.com/mcp",
47
+ "name": "opedd",
48
+ "authorization_token": "opedd_buyer_live_..."
49
+ }]
50
+ }
51
+ ```
52
+
53
+ **OpenAI Responses API**:
54
+
55
+ ```json
56
+ {
57
+ "tools": [{
58
+ "type": "mcp",
59
+ "server_label": "opedd",
60
+ "server_url": "https://mcp.opedd.com/mcp",
61
+ "authorization": "opedd_buyer_live_..."
62
+ }]
63
+ }
64
+ ```
65
+
66
+ **claude.ai / Claude Desktop custom connector** (all plans): Settings → Connectors → *Add custom connector* → URL `https://mcp.opedd.com/mcp`; add a `Authorization: Bearer <your key>` request header for the credentialed tools.
67
+
68
+ **Cursor** (`.cursor/mcp.json`):
69
+
70
+ ```json
71
+ {
72
+ "mcpServers": {
73
+ "opedd": {
74
+ "url": "https://mcp.opedd.com/mcp",
75
+ "headers": { "Authorization": "Bearer ${env:OPEDD_KEY}" }
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ Key routing: `opedd_pub_*` → publisher tools · `opedd_buyer_*` → content retrieval · `ent_*` → bulk feeds · buyer-portal JWT → audit/compliance/EU-AI-Act tools. Your key is forwarded per request and never stored by the gateway.
82
+
36
83
  ## What it does
37
84
 
38
85
  Exposes up to 17 tools to any AI assistant (some are conditional on env vars):
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ import { type Tool } from "@modelcontextprotocol/sdk/types.js";
3
+ export interface Credentials {
4
+ apiBase: string;
5
+ buyerEmail?: string;
6
+ paymentMethodId?: string;
7
+ /** canonical opedd_pub_<env>_<32-hex> key */
8
+ pubBearer?: string;
9
+ /** LEGACY op_<32-hex> — retiring per backend Phase C */
10
+ apiKey?: string;
11
+ /** buyer API token (opedd_buyer_live_/_test_) */
12
+ buyerToken?: string;
13
+ /** enterprise access key (ent_*) — /enterprise-license GET feed */
14
+ accessKey?: string;
15
+ /** Supabase JWT — buyer-audit + compliance + Article 53 surfaces */
16
+ buyerJwt?: string;
17
+ }
18
+ export declare function envCredentials(): Credentials;
19
+ type TextContent = {
20
+ type: "text";
21
+ text: string;
22
+ };
23
+ type ToolResult = {
24
+ content: TextContent[];
25
+ isError?: boolean;
26
+ };
27
+ export declare const TOOLS: Tool[];
28
+ export declare const ALL_TOOLS: Tool[];
29
+ export declare function dispatchTool(name: string, args: Record<string, unknown>, creds?: Credentials): Promise<ToolResult>;
30
+ export {};
@@ -0,0 +1,11 @@
1
+ /** Whether telemetry is allowed (respects OPEDD_MCP_TELEMETRY + DO_NOT_TRACK). Pure — exported for tests. */
2
+ export declare function isTelemetryEnabled(): boolean;
3
+ /**
4
+ * The ONLY properties ever sent for a tool call — no parameters, responses,
5
+ * PII, keys, or content by construction. Pure; exported so a test can assert
6
+ * the privacy invariant directly.
7
+ */
8
+ export declare function toolCallProperties(tool: string, durationMs: number, ok: boolean): Record<string, string | number | boolean>;
9
+ export declare function initTelemetry(): void;
10
+ export declare function captureToolCall(tool: string, durationMs: number, ok: boolean): void;
11
+ export declare function shutdownTelemetry(): Promise<void>;
@@ -0,0 +1 @@
1
+ export declare const SERVER_VERSION: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opedd-mcp",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "description": "Licensed, rights-cleared content for AI agents — verifiable license keys, on-chain proof, and EU AI Act attestation. The MCP alternative to unlicensed scraping for RAG and AI search.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -55,5 +55,6 @@
55
55
  },
56
56
  "files": [
57
57
  "dist"
58
- ]
58
+ ],
59
+ "types": "dist/index.d.ts"
59
60
  }