Curviate

com.curviatePublished by curviate.comOfficial publisherv0.3.0Updated Oct 25, 2026

LinkedIn actions for AI agents: search, messaging, posts and invites, as hosted MCP tools.

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

A hosted MCP server that gives AI assistants LinkedIn actions: search, messaging, posts and connection invites, through a Curviate workspace.

What you can do
Search LinkedIn people and leads, including Sales Navigator and Recruiter toolsets when enabled per workspace and backed by a connected account that holds the product. Read and triage LinkedIn messaging threads and draft replies. Draft and publish posts in the user's voice. Draft and send connection requests and invite notes. All of this runs as native tools over one hosted endpoint, with no local install.
When to use it
Useful when an assistant should work inside LinkedIn on the user's behalf: prospecting and lead research, inbox triage and reply drafting, post drafting, or connection outreach. It fits teams already using Curviate with a connected LinkedIn account rather than someone wanting read-only public data.
Requirements
A remote Streamable HTTP endpoint; nothing to install. A Curviate workspace and one connected LinkedIn account. Authentication by OAuth 2.1 (preferred) or a Curviate API key sent as an Authorization Bearer header, or as a token query parameter as a last resort. Sales Navigator and Recruiter toolsets must be switched on per workspace and require an account holding those products.
Before you install
The API key is a full-access workspace credential: anyone holding it can act on every LinkedIn account in the workspace, so keep it in an environment variable and prefer OAuth. The server can send messages, publish posts and send connection invites, so review drafts before anything goes out. Sales Navigator and Recruiter tools are off by default and only answer for accounts that hold those products.

Installation

In SourceWeft

  1. Open Curviate in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.curviate%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "curviate": {
      "type": "http",
      "url": "https://app.curviate.com/mcp"
    }
  }
}

README

[Curviate]

LinkedIn actions for AI agents, as MCP tools. One hosted URL, nothing to install.

[docs curviate.com] [transport streamable http] [auth oauth 2.1] [hosting eu] [license mit]

Connect in 30 seconds

Point any MCP client that speaks remote Streamable HTTP at one URL:

https://app.curviate.com/mcp

Sign in with OAuth where the client offers it, otherwise send your Curviate API key as an Authorization: Bearer header. Your agent then has LinkedIn search, messaging, posts and connection requests as native tools. Sales Navigator and Recruiter tools are off by default and switch on per workspace, and they answer only for a connected account that holds the product: see Toolsets.

You need a Curviate workspace and one connected LinkedIn account. Full walkthrough: MCP quickstart.

Your client

Claude Code

OAuth:

bash
claude mcp add --transport http curviate https://app.curviate.com/mcp

Then run /mcp in Claude Code, select curviate, choose Authenticate, and approve access in the browser.

API key:

bash
claude mcp add --transport http curviate https://app.curviate.com/mcp \  --header "Authorization: Bearer $CURVIATE_API_KEY"

Your shell expands $CURVIATE_API_KEY when you run that command, so the key itself lands in Claude Code's config file. Prefer the OAuth path above unless you need a key.

Check either setup with claude mcp list: curviate reads Connected.

Details and caveats: docs.curviate.com/reference/mcp/client-setup#claude-code

Codex

OAuth:

bash
codex mcp add curviate --url https://app.curviate.com/mcp

Codex prints an authorization URL. Open it, sign in to Curviate, and approve access. To sign in again later, run codex mcp login curviate.

API key, read from the environment each time Codex connects:

bash
codex mcp add curviate --url https://app.curviate.com/mcp \  --bearer-token-env-var CURVIATE_API_KEY

Check with codex mcp list.

Details and caveats: docs.curviate.com/reference/mcp/client-setup#codex

Gemini CLI

OAuth:

bash
gemini mcp add --transport http curviate https://app.curviate.com/mcp

Then start gemini, run /mcp auth curviate, open the printed URL, sign in to Curviate, and approve access.

API key:

bash
gemini mcp add --transport http curviate https://app.curviate.com/mcp \  -H 'Authorization: Bearer ${CURVIATE_API_KEY}'

Keep the single quotes: Gemini CLI stores ${CURVIATE_API_KEY} as written and fills it from the environment when it connects, so the key stays out of the settings file.

Check with gemini mcp list: curviate reads Connected. Gemini CLI will not start MCP servers in a folder you have not trusted, where the server reads Disabled instead.

Details and caveats: docs.curviate.com/reference/mcp/client-setup#gemini-cli

Another client

Any client that speaks remote Streamable HTTP can connect. Try OAuth with the bare URL first, then the Authorization: Bearer header. A client that connects but fails tool calls with 401 is usually sending the header only on connect: see Troubleshooting.

Authentication

MethodUse it when
OAuth 2.1The client supports it. Always the first choice: no key leaves the dashboard, and you revoke the client on its own under Settings, Authorized applications.
Authorization: Bearer cvt_live_YOUR_KEYThe client can set a header but has no OAuth, or runs unattended.
?token=cvt_live_YOUR_KEYLast resort, for a client that can set no header. The header wins if a request carries both.

Your API key is a full-access workspace credential: anyone holding it can act on every LinkedIn account in the workspace. Create, rotate and revoke it from the key chip in the dashboard top bar, keep it in an environment variable, and reference the variable from the client config rather than the literal key.

Full rules: Authentication.

Things to ask your agent

Find heads of engineering at Series B fintech companies in Berlin who posted about hiring in the last month.
Triage my LinkedIn inbox: summarize every thread still waiting on me, then draft a reply to each one.
Show me the five most relevant people who commented on my last post, and draft a connection request note for each referencing what they said. I will say which ones to send.
Draft a post about what we shipped this week, in my voice, and show it to me before anything goes out.
Review the Sales Navigator leads I saved this week and flag the ones who recently changed jobs.

Links

MCP quickstartConnect a client and make a first call
Client setupPer-client commands and UI paths
AuthenticationOAuth, the Bearer header, and ?token=
ToolsetsWhich tools your client sees, and how to turn more on
Errors and limitsThe error shape, rate limits, safety limits
Troubleshooting401s, a missing tool, a dropped session
curviate.comWhat Curviate is
CLIThe same actions from a terminal or a shell script
TypeScript SDKThe same actions from your own code

License

MIT. See LICENSE.

Source: README.md at commit ea0d307

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v0.3.0LatestSep 17, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts