postulo-mcp: let an AI agent operate Postulo through the Model Context Protocol #19
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
Reference
Postulo/postulo#19
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Observation
Consistent with "no AI in v1"
docs/PLAN.md: "AI assistance — Not in v1. The application is complete and useful without an API key. A plugin can add it later against the same contracts." MCP is that sentence the other way round: no model inside Postulo, no API key in Postulo's settings. The agent lives wherever the person already runs one — Claude Desktop, Claude Code, an IDE, a self-hosted agent — and Postulo answers it through the API like any other client. Someone who wants nothing to do with AI installs nothing and nothing changes. Someone who does gets an agent that knows their job hunt without pasting it into a chat window.Shape
postulo-mcp, in Python on the officialmcpSDK (FastMCP). stdio transport first, which is what local agents speak; Streamable HTTP later for remote agents — that transport expects OAuth 2.1, which #12 deliberately does not propose yet.readscope can do no harm, and the server also accepts--read-onlyregardless of what the token allows. Writing requires awritetoken and the flag off.list_applications(status, company, since),get_application(with its timeline),search_postings,list_reminders(due),list_companies,get_contacts,get_cv(structured or as text),get_cover_letter,get_insightsrecord_application,change_status(through the service, so the event log is written),add_note,add_reminder,complete_reminder,create_cover_letter_draft,request_renderpostulo://…and returned as text, so an agent can read a CV without a tool call.documents:read; CVs travel as text.readtoken exposes to the model the person chose.Classification
Enhancement. A separate package; changes nothing unless someone runs it. Not breaking.
Depends on
#12 — scoped personal access tokens, the read resources, the writes through services, and the actor on the event log.
Open questions
add_note,add_reminder,change_status;record_applicationonce the shape settles.postulo-mcpand to the MCP registry?