Skip to main content
Glama

willow-mcp

Агентно-нейтральный MCP-сервер. Хранилище «ключ-значение» SQLite, база знаний Postgres, очередь задач Kart. Авторизация SAP/1.0 при каждом вызове инструмента.

pip install willow-mcp

Инструменты

Инструмент

Описание

store_put

Запись в хранилище SQLite

store_get

Чтение из хранилища SQLite

store_list

Список атомов в коллекции

store_search

Полнотекстовый поиск в коллекции

store_delete

Удаление атома

store_search_all

Поиск по всем коллекциям

knowledge_ingest

Добавление в базу знаний Postgres

knowledge_search

Поиск по базе знаний Postgres

task_submit

Отправка задачи в очередь Kart

task_status

Проверка статуса задачи

task_list

Список ожидающих задач

Для каждого инструмента требуется параметр app_id. Авторизация проверяется через SAP/1.0.

Related MCP server: astra-knowledge-base-mcp

Конфигурация OpenClaw

{
  "mcp": {
    "servers": {
      "willow": {
        "command": "python3",
        "args": ["-m", "willow_mcp"],
        "env": {
          "WILLOW_PG_DB": "willow",
          "SAP_SAFE_ROOT": "~/.sap/Applications",
          "SAP_PGP_FINGERPRINT": "YOUR_KEY_FINGERPRINT"
        }
      }
    }
  }
}

Конфигурация

Переменная окружения

По умолчанию

Описание

WILLOW_PG_DB

willow

Имя базы данных Postgres

WILLOW_PG_USER

$USER

Пользователь Postgres (аутентификация через Unix-сокет)

WILLOW_STORE_ROOT

~/.willow/store

Директория хранилища SQLite

SAP_SAFE_ROOT

~/.sap/Applications

Корневая папка SAFE

SAP_PGP_FINGERPRINT

(пусто)

Закрепленный отпечаток GPG

Авторизация

Использует openclaw-sap-gate (SAP/1.0). Настройте папку SAFE для каждого app_id:

sap-gate init my-app
# edit ~/.sap/Applications/my-app/safe-app-manifest.json
# sign it, then:
sap-gate verify my-app

Лицензия

MIT — Sean Campbell 2026

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 147 tool updatesv2.54.1
    • Removedagent_clear
    • Removedagent_dispatch_result
    • Removedagent_route
    • Removedagent_seed_mirror
    • Removedcode_graph_explain
    • Removedcode_graph_impact
    • Removedcode_graph_index
    • Removedcode_graph_search
    • Removedcode_graph_suggest
    • Removedcode_graph_walk
    • Removedcommitment_acknowledge
    • Removedcommitment_ingest
    • Removedcommitment_list
    • Removedcommitment_surface
    • Removedcontext_expire
    • Removedcontext_get
    • Removedcontext_list
    • Removedcontext_save
    • Removeddecision_propose
    • Removeddiagnostic_summary
    • Removeddispatch_accept
    • Removeddispatch_list
    • Removeddispatch_read
    • Removeddispatch_send
    • Removedenv_check
    • Removedenvelope_apply
    • Removedenvelope_list
    • Removedenvelope_pending_read
    • Removedenvelope_propose
    • Removedenvelope_ratify
    • Removedenvelope_read_discards
    • Removedenvelope_reject
    • Removedexposure_config_get
    • Removedexposure_slice
    • Removedfederation_call
    • Removedfederation_discover
    • Removedfederation_list_servers
    • Removedfleet_health
    • Removedfleet_status
    • Removedfork_create
    • Removedfork_delete
    • Removedfork_join
    • Removedfork_list
    • Removedfork_log
    • Removedfork_merge
    • Removedfork_status
    • Removedfrank_append
    • Removedfrank_read
    • Removedfrank_verify
    • Removedfriction_flags_list
    • Removedfriction_scan
    • Removedgap_delete
    • Removedgap_list
    • Removedgap_log
    • Removedgap_promote
    • Removedgap_purge_topic
    • Removedgap_resolve
    • Removedgit_pull_execute
    • Removedgit_push_execute
    • Removedgitsync_sweep
    • Removedgrove_ack
    • Removedgrove_agents
    • Removedgrove_bus_receive
    • Removedgrove_bus_send
    • Removedgrove_flag
    • Removedgrove_flagged
    • Removedgrove_fleet_status
    • Removedgrove_get_history
    • Removedgrove_get_identity
    • Removedgrove_get_thread
    • Removedgrove_heartbeat
    • Removedgrove_human_required
    • Removedgrove_inbox
    • Removedgrove_list_channels
    • Removedgrove_reply
    • Removedgrove_search
    • Removedgrove_send_message
    • Removedgrove_unflag
    • Removedgrove_watch
    • Removedgrove_watch_all
    • Removedhandoff_read
    • Removedhandoff_write_v4
    • Removedhuman_attestation_create
    • Removedhuman_attestation_list
    • Removedhuman_required_enqueue
    • Removedhuman_required_list
    • Removedhuman_required_resolve
    • Removedintegration_call
    • Removedintegration_list
    • Removedintegration_status
    • Removedkb_at
    • Removedkb_ingest
    • Removedkb_journal
    • Removedkb_journal_read
    • Removedkb_promote
    • Removedkb_startup_continuity
    • Removedknowledge_check
    • Removedknowledge_flag
    • Removedknowledge_ingest
    • Removedknowledge_retract
    • Removedknowledge_search
    • Removedknowledge_verify
    • Removedlineage_link
    • Removedlineage_list
    • Removedlineage_record
    • Removedlineage_why
    • Removednest_digest
    • Removednest_intake_file
    • Removednest_intake_flags
    • Removednest_intake_queue
    • Removednest_intake_scan
    • Removednest_intake_skip
    • Removednest_promote
    • Removednest_scan
    • Removednest_status
    • Removednestor_tool_pending
    • Removednestor_tool_route
    • Removednestor_tool_seal
    • Removedpr_open_execute
    • Removedreceipts_tail
    • Removedschema_confirm_mapping
    • Removedsession_bind
    • Removedsession_enter
    • Removedsession_handoff_write
    • Removedsession_read
    • Removedsession_reconcile
    • Removedsessions_read_unverifiable
    • Removedspecialist_get
    • Removedspecialist_list
    • Removedstore_collections
    • Removedstore_delete
    • Removedstore_get
    • Removedstore_list
    • Removedstore_purge_collection
    • Removedstore_put
    • Removedstore_search
    • Removedstore_search_all
    • Removedstore_stats
    • Removedstore_update
    • Removedtask_list
    • Removedtask_status
    • Removedtask_submit
    • Removedverify_handoff
    • Removedwhoami
    • Removedwillow_institutional_search
    • Removedwillow_web_fetch
    • Removedwillow_web_search
  2. 5 tool updatesv2.48.0
    • Addedgit_pull_execute
    • Changedgit_push_execute1 field changed
      • addedInput schema / properties / base
        Added value: +{
        +  "default": "",
        +  "title": "Base",
        +  "type": "string"
        +}
    • Addedgitsync_sweep
    • Addedpr_open_execute
    • Changedtask_submit1 field changed
      • addedInput schema / properties / anticipated_gates
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Anticipated Gates"
        +}
  3. 1 tool updatev2.36.0
    • Addeddecision_propose
  4. 1 tool updatev2.34.0
    • Addedgit_push_execute
  5. 2 tool updatesv2.27.0
    • Changeddispatch_send1 field changed
      • addedInput schema / properties / envelope_id
        Added value: +{
        +  "default": "",
        +  "title": "Envelope Id",
        +  "type": "string"
        +}
    • Changedenvelope_list1 field changed
      • addedInput schema / properties / include_revoked
        Added value: +{
        +  "default": false,
        +  "title": "Include Revoked",
        +  "type": "boolean"
        +}
  6. 1 tool updatev2.23.0
    • Addedkb_journal_read
  7. 8 tool updatesv2.19.0
    • Addedenvelope_list
    • Addedenvelope_pending_read
    • Addedenvelope_propose
    • Addedenvelope_ratify
    • Addedenvelope_read_discards
    • Addedenvelope_reject
    • Changedsession_enter3 fields changed
      • addedInput schema / properties / attested_at
        Added value: +{
        +  "default": "",
        +  "title": "Attested At",
        +  "type": "string"
        +}
      • addedInput schema / properties / seal_sig
        Added value: +{
        +  "default": "",
        +  "title": "Seal Sig",
        +  "type": "string"
        +}
      • addedInput schema / properties / verifier
        Added value: +{
        +  "default": "",
        +  "title": "Verifier",
        +  "type": "string"
        +}
    • Addedsessions_read_unverifiable

TDQS

B3.3/5.0

Scored across 147 tools

Disambiguation4/5

The tool set is enormous but organized into clear prefix families (store_*, grove_*, gap_*, knowledge_*, kb_*, dispatch_*, envelope_*, session_*, fork_*, etc.) with detailed descriptions. A few pairs could be confused (e.g., store_search vs store_search_all, grove_send_message vs grove_bus_send, handoff_write_v4 vs session_handoff_write) but their scopes are distinct enough that an agent reading descriptions would likely pick correctly.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun (or prefix_verb_noun) pattern. Prefixes denote the domain (store, grove, gap, knowledge, kb, dispatch, fork, envelope, session, human, etc.), and verbs are consistently descriptive. There are no mixed conventions like camelCase or abbreviated ambiguities.

Tool Count1/5

147 tools is extreme for any MCP server, even one covering a broad governance/fleet management domain. The sheer volume makes the surface area unwieldy and increases the risk of a tool being overlooked or mis-selected. Per the calibration, 50+ tools is a strong mismatch; 147 far exceeds that threshold.

Completeness5/5

The tool set provides comprehensive coverage across its apparent domains: store CRUD and search, messaging and fleet coordination, knowledge base lifecycle, gap/backlog management, task queueing, dispatch workflow, fork management, envelope governance, session binding/reconciliation, human-required queue, and attestations. Each domain has create/read/update/delete or lifecycle operations, leaving very few obvious gaps.

Maintenance

ActivityNo data
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers