io.github.oleksiijko/pmb-ai
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| 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
| Name | Description |
|---|---|
| recallA | Search memory for anything about the user/past/project. recall(query, top_k=5). Returns results + auto-attached lessons (read & FOLLOW them) + project_context. Trust results with score>0.2 as the user's recorded reality. |
| project_overviewA | One-call full context for a NAMED project at the start of work. project_overview(name) → lessons (rules to follow), decisions, open goals, recent activity, related entities. |
| prepareA | READ-FIRST bundle at the start of work on a known project. prepare(message=<the user's message>) returns project_context, surfaced lessons (each with surface_id - FOLLOW them, then mark_lesson_followed), recent_activity and open_goals in one ~10ms call. Replaces several recall() calls. |
| record_keyed_factA | Upsert a mutable personal attribute. record_keyed_fact(subject, attribute, value) - e.g. user/city/Tampa. A new value SUPERSEDES the old under one canonical key instead of piling up. |
| find_lessonsA | Standalone 'what procedural rules apply to X'. find_lessons(query, project?) → lessons with surface_id; project scope excludes explicit lessons from other projects while retaining generic rules. FOLLOW them, then mark_lesson_followed. |
| mark_lesson_followedA | Report whether a surfaced lesson changed your behaviour. mark_lesson_followed(surface_id, followed=True|False, note='...', applicable=True|False). Use applicable=False when the lesson was irrelevant, not followed=False. Call after acting on a lesson - powers the self-improvement loop. |
| session_briefA | Re-orient after YOUR context compacted. session_brief() → what THIS session decided/built. Don't re-ask the user. |
| record_batchA | ⚡ PREFERRED for any message with multiple memories - stores N atomic items in ONE call (each ~3-5s of agent thinking saved vs separate record_* calls). items: list of dicts, each with a |
| update_goalA | Move a goal's status/progress. update_goal(goal_ulid, status='in_progress'|'done', progress=0-100, note='...'). Records a goal_update event so the goal's history is preserved. |
| list_goalsA | List open goals. list_goals(status='in_progress'). For 'what are my goals/what's in flight'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/oleksiijko/pmb'
If you have feedback or need assistance with the MCP directory API, please join our Discord server