Skip to main content
Glama
Touexe
by Touexe

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
POCKETBASE_URLNoPocketBase instance URLhttp://127.0.0.1:8090
POCKETBASE_MCP_HOSTNoHTTP transport bind host127.0.0.1
POCKETBASE_MCP_PORTNoHTTP transport bind port8000
POCKETBASE_ADMIN_EMAILNoSuperuser email for startup auth
POCKETBASE_BATCH_LIMITNoMax operations per bulk_write call200
POCKETBASE_ADMIN_PASSWORDNoSuperuser password for startup auth
POCKETBASE_LOG_PAGE_SIZE_MAXNoMax page size for read_logs500
POCKETBASE_ENABLE_DESTRUCTIVENoSet any truthy value to register delete_records and destroy_collection

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
describe_schemaA

USE WHEN you need a quick inventory of all collections before querying or writing.

EXAMPLES:

  • "What collections exist?" -> describe_schema()

  • "Does a 'posts' collection exist?" -> describe_schema()

  • After adding a collection -> describe_schema(refresh=True)

NEXT STEPS: describe_collection(collection="") for field details.

describe_collectionA

USE WHEN you need full field definitions, API rules, or relation targets for one collection.

EXAMPLES:

  • "What fields does 'posts' have?" -> describe_collection(collection="posts")

  • Before write_record to see required fields -> describe_collection(collection="posts")

  • "What are the auth rules?" -> describe_collection(collection="users")

NEXT STEPS: find_records or write_record with the correct field names.

find_recordsA

USE WHEN you need to query or look up records in a collection.

EXAMPLES:

  • By id: find_records(collection="posts", record_id="abc123")

  • By filter: find_records(collection="posts", filter_template="status = {:s}", filter_params={"s": "published"})

  • All records: find_records(collection="posts", fetch_all=True)

NEXT STEPS: write_record to mutate, describe_collection for field names.

write_recordA

USE WHEN you need to create or update a single record.

EXAMPLES:

  • Create: write_record(collection="posts", action="create", data={"title": "Hi", "body": "..."})

  • Update: write_record(collection="posts", action="update", record_id="abc", data={"title": "New"})

NEXT STEPS: find_records to verify, describe_collection for field names.

bulk_writeA

USE WHEN you need to create/update/delete multiple records atomically.

EXAMPLES:

  • operations=[ {"collection": "posts", "action": "create", "data": {"title": "A"}}, {"collection": "posts", "action": "update", "record_id": "xyz", "data": {"title": "B"}}, ]

NEXT STEPS: find_records to verify results.

manage_collectionA

USE WHEN you need to create or modify a collection schema.

EXAMPLES:

  • Create base: manage_collection(action="create", name="posts", fields=[{"name": "title", "type": "text", "required": True}])

  • Create view: manage_collection(action="create", name="post_stats", collection_type="view", view_query="SELECT id, title FROM posts")

  • Update rules: manage_collection(action="update", name="posts", api_rules={"list": "@request.auth.id != ''"})

NEXT STEPS: describe_collection to verify, find_records or write_record to use.

connectA

USE WHEN you need to authenticate or check the current session identity.

EXAMPLES:

  • Check identity: connect(as_="status")

  • Superuser: connect(as_="superuser", email="admin@x.com", password="...")

  • User: connect(as_="user", collection="users", email="u@x.com", password="...")

  • Impersonate: connect(as_="impersonate", user_id="abc123")

NEXT STEPS: All subsequent tool calls in this session use the new identity.

manage_authA

USE WHEN you need to manage auth lifecycle: password reset, verification, email change, or token refresh.

EXAMPLES:

  • Request reset: manage_auth(action="request_password_reset", collection="users", email="u@x.com")

  • Confirm reset: manage_auth(action="confirm_password_reset", collection="users", token="...", password="new", password_confirm="new")

  • Refresh token: manage_auth(action="refresh", collection="users")

NEXT STEPS: connect(as_='status') to verify identity after refresh.

manage_filesA

USE WHEN you need to get a file URL, download a file, or upload a new file to a record.

EXAMPLES:

  • URL: manage_files(action="url", collection="posts", record_id="abc", field="cover", filename="img.jpg")

  • Thumb: manage_files(action="url", ..., thumb="200x200")

  • Download: manage_files(action="download", ..., filename="doc.pdf")

  • Upload: manage_files(action="upload", ..., field="cover", local_path="/tmp/img.jpg", filename="img.jpg")

NEXT STEPS: find_records to see the updated file field after upload.

inspect_serverA

USE WHEN you need an overview of server health, settings, cron jobs, and log statistics.

EXAMPLES:

  • "Is PocketBase running?" -> inspect_server()

  • "What cron jobs are registered?" -> inspect_server()

  • "How many requests in the last 7 days?" -> inspect_server()

NEXT STEPS: read_logs for detailed log entries; connect(as_='superuser') for full access.

read_logsA

USE WHEN you need to inspect request log entries. Superuser access required.

EXAMPLES:

  • Latest logs: read_logs()

  • Single entry: read_logs(log_id="xyz")

  • Filter by level: read_logs(filter_template="level >= {:l}", filter_params={"l": 4})

NEXT STEPS: inspect_server for aggregate stats; connect(as_='superuser') if unauthorized.

Prompts

Interactive templates invoked by user choice

NameDescription
inspect_then_queryGuide an agent through schema inspection then record querying.
safe_deleteGuide an agent through count-verify-then-delete flow.
create_with_validationGuide an agent through schema-aware record creation.

Resources

Contextual data attached and managed by the client

NameDescription
schemaAll PocketBase collections — id, name, type, field_count.

TDQS

A4.1/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct resource and action. Overlapping pairs like describe_schema/describe_collection and inspect_server/read_logs are clearly differentiated by their descriptions and intended use cases.

Naming Consistency5/5

All tool names follow a consistent snake_case style, mostly verb_noun (e.g., describe_schema, find_records, manage_collection). The only deviation, bulk_write, still fits the style and does not introduce a mixed convention.

Tool Count5/5

With 11 tools, the server is well-scoped for a backend platform, covering schema, records, auth, files, logs, and server health without being over- or under-populated.

Completeness3/5

While the core workflows are covered, there are notable gaps: no dedicated tool for deleting a single record (only via bulk_write) and manage_collection does not support deleting collections. These are core CRUD operations that an agent would expect.

Maintenance

ActivityMaintained
ResponsivenessNo issues