Hermes Agent + LinkedIn

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. 1

    Add Crispy to your Hermes config

    Drop this under the top-level mcp_servers key in ~/.hermes/config.yaml

  2. 2

    Authorize once

    Run hermes mcp login crispy from 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.

~/.hermes/config.yaml
mcp_servers:
  crispy:
    url: "https://crispy.sh/api/mcp"
    auth: oauth

What 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

Decide what it may touch

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.

~/.hermes/config.yaml
mcp_servers:
  crispy:
    url: "https://crispy.sh/api/mcp"
    auth: oauth
    tools:
      include:
        - get_briefing
        - list_conversations
        - get_messages
        - search_people
        - get_profile

A 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 pricing

Frequently 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.