# Alkemata Knowledge Gateway

> Read Alkemata articles and maps; submit reviewed proposals; create map content with authorization.

- name: com.alkemata/public-knowledge
- version: 1.4.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 73/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.alkemata%2Fpublic-knowledge
- tools: https://api.protogrid.dev/v1/servers/com.alkemata%2Fpublic-knowledge/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "public-knowledge": {
      "type": "http",
      "url": "https://alkemata.com/wp-json/mcp/alkemata-public"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +dns-namespace +reachable +uptime-100% +updated-3d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 73/100 (needs work)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 26 of 26 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_app_info (idempotentHint, openWorldHint); get_agent_guidance (idempotentHint, openWorldHint); submit_feedback (idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 3,539 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 56 tool changes in 30 days
- fail `stability.rug_pull`: 9 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 26, about 3,539 tokens to load them all
- tool set hash: e361922ed7efe0b6b82689a5ebfd46c0
- tools last changed: 2026-10-17T19:06:19.426Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.alkemata/public-knowledge.svg)](https://protogrid.dev/servers/com.alkemata/public-knowledge)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `openproject_update_wiki_page` added
  - Replace wiki page text only when the supplied lock_version is still current.
- 2026-10-17 `openproject_create_wiki_page` added
  - Create a page in a wiki where the signed-in user has edit permission.
- 2026-10-17 `openproject_get_wiki_page` added
  - Read a wiki page's text and lock_version before editing it.
- 2026-10-17 `openproject_list_wiki_pages` added
  - List up to 100 wiki pages in a project where the signed-in user may view its wiki.
- 2026-10-17 `openproject_update_work_package` added
  - Edit subject, description, or status after reading the current lock_version.
- 2026-10-17 `openproject_create_work_package` added
  - Create a work package in a project where the signed-in user may add work packages.
- 2026-10-17 `openproject_get_work_package` added
  - Read a work package, including its lock_version for a later edit.
- 2026-10-17 `openproject_list_work_packages` added
  - List up to 50 recent work packages in a permitted project, optionally filtering subjects.
- 2026-10-17 `openproject_list_projects` added
  - Start here to find project IDs, enabled wiki access, and work package type IDs.
- 2026-10-17 `get_article` removed
  - Read the full text and canonical URL of a published article on alkemata.com.

Full history: https://api.protogrid.dev/v1/servers/com.alkemata%2Fpublic-knowledge/changes

## Remotes

- https://alkemata.com/wp-json/mcp/alkemata-public (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (26)

- `add_map_content`: Add a topic near its named parent category; omit category_name for a top-level topic.
- `alkemata-get-published-content`: Read a published WordPress post or page through the existing public MCP.
- `alkemata-search-published-content`: Search published WordPress posts or pages through the existing public MCP.
- `create_topic_at_position`: Create a topic at exact coordinates; omit map_id when there is one map. Prefer add_map_content for automatic placement.
- `find_related_map_topics`: Find similar published map posts and return their text, IDs, category and position for study planning.
- `get_agent_guidance`: Start here for article and map reading, anonymous proposals, and authenticated map creation rules.
- `get_app_info`: Start here for the canonical endpoint, map ID, and the difference between pending proposals and map publishing.
- `get_region`: Return published objects for a viewport; obtain map_id from list_maps first.
- `get_topic`: Return complete permitted blocks, published sources and relationships for one topic.
- `get_trail`: Return a published learning trail with steps and branches.
- `list_map_categories`: List published topic/category names and depth on a map for add_map_content.
- `list_maps`: List exact map IDs and world bounds before creating content.
- `openproject_create_wiki_page`: Create a page in a wiki where the signed-in user has edit permission.
- `openproject_create_work_package`: Create a work package in a project where the signed-in user may add work packages.
- `openproject_get_wiki_page`: Read a wiki page's text and lock_version before editing it.
- `openproject_get_work_package`: Read a work package, including its lock_version for a later edit.
- `openproject_list_projects`: Start here to find project IDs, enabled wiki access, and work package type IDs.
- `openproject_list_wiki_pages`: List up to 100 wiki pages in a project where the signed-in user may view its wiki.
- `openproject_list_work_packages`: List up to 50 recent work packages in a permitted project, optionally filtering subjects.
- `openproject_update_wiki_page`: Replace wiki page text only when the supplied lock_version is still current.
- `openproject_update_work_package`: Edit subject, description, or status after reading the current lock_version.
- `propose_project`: Submit a project idea for editorial review; this never creates a public post or task.
- `publish_study_path`: Atomically add a study text, related links and ordered learning trail near similar map posts.

First call find_related_map_topics. Put selected existing topic IDs in learning order;
the new post is appended as the last trail step. The server infers a category and position.
A stable idempotency_key makes retries safe. Contributors create drafts for review.

- `search_topics`: Search published topic titles and summaries. Responses are bounded to 100.
- `submit_feedback`: Submit private feedback for editorial review. Provide one published article or topic; this never publishes content.
- `suggest_connection`: Suggest a connection between two published targets for review; this never creates a map edge.
