CamFeed Journalism Archive

Public read-only archive of journalist Cameron Wilson's work, appearances, and biography.

Should I use this

Quality & Safety

A
Description quality
95%
Schema completeness
83%
Naming quality
90%
Poisoning risk
100%
Permission match
90%
Protocol compliance
100%

Findings (1)

  • LOWTool 'fetch' suggests web access but openWorldHint=falsein fetch

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,436Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (1.12% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "camfeed": {
      "url": "https://camfeed.cameronwilson.com.au/mcp"
    }
  }
}

Remote endpoints

https://camfeed.cameronwilson.com.au/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search(query)

Use this when someone asks about Australian journalist Cameron Wilson, his reporting, biography, appearances, or published work. Search the public CamFeed archive and return canonical, citable results. Use fetch to retrieve a selected result.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Natural-language search query about Cameron Wilson or his published work."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "results"
  ],
  "additionalProperties": false
}
🟢fetch(id)

Use this after search to retrieve the complete citation-ready text and metadata for one public CamFeed result. Do not use an arbitrary URL; pass the CamFeed id returned by search.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "CamFeed result id returned by search, for example camfeed-62."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "additionalProperties": true
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url"
  ],
  "additionalProperties": false
}
🟢latest_work(limit)

Use this when someone asks for Cameron Wilson's latest or recent published work. Return recent public items from the same canonical source as CamFeed RSS and JSON.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "count",
    "items"
  ],
  "additionalProperties": true
}
🟢featured_work(limit)

Use this when someone asks for Cameron Wilson's best, signature, representative, or recommended journalism. Return the pieces he would point a new reader to first.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "count",
    "items"
  ],
  "additionalProperties": true
}
🟢search_journalism(query, source, kind, from, to, ...)

Use this for advanced searches of Cameron Wilson's public archive when source, content type, date filters, transcript matching, or matched snippets are needed. Query is optional; pass only filters to enumerate. Prefer search and fetch for OpenAI knowledge retrieval.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free-text search across title, summary, body, article full text, media transcripts, and quotes."
    },
    "source": {
      "type": "string",
      "enum": [
        "abc",
        "substack",
        "camclip",
        "mastodon",
        "manual"
      ],
      "description": "Filter by underlying source."
    },
    "kind": {
      "type": "string",
      "enum": [
        "news article",
        "blog post",
        "newsletter commentary",
        "mastodon post",
        "appearance",
        "audio",
        "video clip"
      ],
      "description": "Filter by item kind."
    },
    "from": {
      "type": "string",
      "description": "ISO date or datetime; include items published on or after this."
    },
    "to": {
      "type": "string",
      "description": "ISO date or datetime; include items published on or before this."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  }
}

Output Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "count",
    "items"
  ],
  "additionalProperties": true
}
🟢get_item(id, include_full_text, include_transcript, include_related_content, include_transcripts)

Use this when a CamFeed item id is known and richer archive detail is needed. Optionally retrieve ABC full text, a media transcript, or an article-centred story bundle containing commentary, appearances, and social context.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "include_full_text": {
      "type": "boolean",
      "default": false
    },
    "include_transcript": {
      "type": "boolean",
      "default": false
    },
    "include_related_content": {
      "type": "boolean",
      "default": false
    },
    "include_transcripts": {
      "type": "boolean",
      "default": false
    }
  },
  "required": [
    "id"
  ]
}

Output Schema

{
  "type": "object",
  "additionalProperties": true
}
🟢work_by_topic(topic, limit)

Use this when someone asks what Cameron Wilson has published on a particular topic. Match declared or derived topics, titles, and text.

Input Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  },
  "required": [
    "topic"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "count": {
      "type": "integer"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "count",
    "items"
  ],
  "additionalProperties": true
}
🟢recommended_reading(topic, limit)

Use this when someone wants a short, curated reading list of Cameron Wilson's work on a topic. Do not use it for exhaustive archive enumeration.

Input Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  },
  "required": [
    "topic"
  ]
}

Output Schema

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string"
    },
    "reading_list": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "reading_list"
  ],
  "additionalProperties": true
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools