opedd-mcp 0.12.16 → 0.12.17

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/dist/index.js +15 -3
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -186,7 +186,7 @@ function buildTools(has) {
186
186
  const TOOLS = [
187
187
  {
188
188
  name: "lookup_content",
189
- description: "Looks up an article on Opedd by its web address. Returns the title, publication and how to license it (pay-per-answer search or a licence order); for a publication's homepage, the publication and its licensing page; or that it is not on Opedd yet (then request_publication records the request).",
189
+ description: "Looks up an article on Opedd by its web address. Returns the title, publication and how to license it (pay-per-answer search or a licence order); for a publication's homepage, the publication and its licensing page; for a publication that licenses directly, that it is available on request; or that it is not on Opedd yet (then request_publication records the request).",
190
190
  inputSchema: {
191
191
  type: "object",
192
192
  required: ["url"],
@@ -200,7 +200,7 @@ function buildTools(has) {
200
200
  },
201
201
  {
202
202
  name: "request_publication",
203
- description: "Asks Opedd to tell you when a publication it does not carry yet becomes available to license. For an article that lookup_content reports is not on Opedd. Records the request against the email given; nothing is bought. If the publication is already on Opedd, returns its licensing page instead. Free; no key needed.",
203
+ description: "Asks Opedd to tell you when a publication it does not carry yet becomes available to license. For an article that lookup_content reports is not on Opedd. Records the request against the email given; nothing is bought. If the publication is already on Opedd, returns its licensing page instead; if it is listed as available on request, the request is passed to its publisher. Free; no key needed.",
204
204
  inputSchema: {
205
205
  type: "object",
206
206
  required: ["url", "email"],
@@ -264,7 +264,7 @@ function buildTools(has) {
264
264
  // ─── Public buyer-discovery — catalog browse ──────────────────────────────
265
265
  {
266
266
  name: "publisher_directory",
267
- description: "Lists the publications on Opedd with their article counts, licences, prices and sample articles. Filters: category (case-insensitive substring), min_articles and verified status. Public; no key needed.",
267
+ description: "Lists the publications on Opedd with their article counts, licences, prices and sample articles. Publications that license directly and are listed as available on request come separately, in on_request (first page only). Filters: category (case-insensitive substring), min_articles and verified status. Public; no key needed.",
268
268
  inputSchema: {
269
269
  type: "object",
270
270
  properties: {
@@ -790,6 +790,18 @@ export async function dispatchTool(name, args, creds = ENV_CREDS) {
790
790
  // where to license it (2026-10-24). Agents that looked up a
791
791
  // publication's homepage were told it was not on Opedd.
792
792
  const details = e.details;
793
+ // Listed as available on request (2026-11-07): the publication
794
+ // licenses directly; a request is passed to it by name.
795
+ if (details?.available_on_request === true && details.publication) {
796
+ return ok({
797
+ on_opedd: false,
798
+ available_on_request: true,
799
+ url,
800
+ publication: details.publication,
801
+ message: `${details.publication.name ?? "This publication"} licenses its work directly and is listed on Opedd as available on request. ` +
802
+ "Nothing of it is sold or delivered through Opedd. request_publication, with this url and an email, sends a request that Opedd passes to the publisher.",
803
+ });
804
+ }
793
805
  if (details?.on_opedd === true && details.publication) {
794
806
  return ok({
795
807
  on_opedd: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opedd-mcp",
3
- "version": "0.12.16",
3
+ "version": "0.12.17",
4
4
  "description": "Content licensing for the AI era. Licensed, rights-cleared content for AI agents, with a verifiable license key for every article. The MCP alternative to unlicensed scraping for RAG and AI search.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",