Give your Hermes agent a LinkedIn account
Crispy is a remote MCP server for LinkedIn. One config block and one command, and Hermes can search, message, post, and triage a real account - on its own schedule, within limits you set.
Setup in Two Steps
- 1
Add Crispy to your Hermes config
Drop this under the top-level
mcp_serverskey in~/.hermes/config.yaml - 2
Authorize once
Run
hermes mcp login crispyfrom a fresh terminal and approve on the Crispy consent screen. Crispy registers the client itself, so there is no OAuth app to set up first.
mcp_servers:
crispy:
url: "https://crispy.sh/api/mcp"
auth: oauthWhat You Can Do with Hermes + LinkedIn
Hermes acts on a schedule, not only when you are watching. That makes the standing work the interesting part.
Inbox triage that runs itself
Hermes wakes on its own schedule, reads what came in overnight, and tells you what actually needs a human. Nothing is sent without you asking.
“Every morning, summarize LinkedIn messages I have not replied to and flag the ones that read like buying signals”
Scheduled follow-up
Hermes remembers who accepted an invitation and when. Give it a scoped key and it can send the follow-up itself, or draft it and wait for your nod.
“Message everyone who accepted my connection request yesterday, referencing the post that brought them in”
Research before you reach out
Search people and companies, pull profiles, and check what a prospect has posted recently, so the first line of the message is about them.
“Find heads of growth at Series B SaaS companies and summarize what each posted about this month”
Content on a cadence
Draft in your own voice, queue posts, and pull the analytics back a week later to see which openings actually landed.
“Draft three posts from my notes this week, match my writing style, and schedule them for Tuesday morning”
An agent that acts unattended needs a shorter leash
LinkedIn writes do not undo. An invitation cannot be unsent, and deleting a post does not unsend the notification. So the useful question is not whether Hermes can reach a tool, but whether it should.
There are two independent controls, and they are worth running together. On the Crispy side, an API key can be limited to specific capabilities, checked on every call before the tool runs. The read-only preset grants the reads and returns a 403 on everything else, so a confused plan cannot talk its way past it. Note that an OAuth token is deliberately different: it carries your account's full tool scope, which is right for an agent you drive and watch, and too much for one on a timer.
On the Hermes side, tools.include keeps the agent's tool list short, so the model only ever considers the handful of tools its job needs. The filter shapes what it thinks about; the key decides what the server will actually do.
mcp_servers:
crispy:
url: "https://crispy.sh/api/mcp"
auth: oauth
tools:
include:
- get_briefing
- list_conversations
- get_messages
- search_people
- get_profileA good default for a new agent: read-only for the first week. You still get briefings, inbox triage, search, and analytics, and the blast radius is zero while you tune the prompts.
Pricing
Crispy is $49/seat/mo (or $39/seat/mo annual). One plan, everything included. Works with Hermes Agent out of the box.
View full pricingFrequently Asked Questions
Does Hermes Agent support MCP servers?
Yes. Hermes connects to local stdio servers and remote HTTP MCP servers, both defined under the top-level mcp_servers key in ~/.hermes/config.yaml. Crispy is a remote HTTP server, so there is nothing to install.
How do I add Crispy to Hermes Agent?
Add an entry under mcp_servers with url https://crispy.sh/api/mcp and auth: oauth, then run 'hermes mcp login crispy' from a fresh terminal. Crispy supports dynamic client registration, so there is no OAuth app to create and no client ID to copy.
Do I need an API key?
Not for OAuth. You do want one if you plan to restrict the agent: an OAuth token carries your account's full tool scope, while an API key can be limited to specific capabilities, enforced by Crispy before a tool runs.
Can I stop the agent from posting or messaging on its own?
Yes, in two independent places. Crispy's read-only key preset grants only read capabilities and returns a 403 on anything else. Hermes' own tools.include filter controls which tools the agent ever sees. Running both is the safest setup for anything unattended.
Is my LinkedIn password shared with Hermes?
No. You connect LinkedIn through Crispy's own flow, which never sees your password. Hermes only ever talks to Crispy, using an OAuth token or an API key that you can revoke at any time.
My tools never showed up. What went wrong?
Almost always the config key. Hermes reads a top-level mcp_servers block; a nested 'mcp: servers:' parses without complaint and registers nothing. If OAuth times out instead, run 'hermes mcp login crispy' from a fresh terminal, since a running session only waits 30 seconds for the browser flow.
The complete LinkedIn API. Ready when you are.
Connect your first LinkedIn profile in under 5 minutes. Every tool, every seat, no feature gates. Safe limits, warm-up, and full permission control built in.