first100-mcp 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +35 -0
  2. package/bin.mjs +19 -0
  3. package/package.json +35 -0
package/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # first100-mcp
2
+
3
+ Gives any MCP client the First100 go-to-market tools: publish and schedule posts on X, LinkedIn, Threads and Bluesky, find communities and local businesses, run on-page SEO checks, and send cold email through your own SMTP.
4
+
5
+ Get an API key at https://firsthundred.app/dashboard/keys.
6
+
7
+ ## Clients that speak HTTP (no install needed)
8
+
9
+ ```bash
10
+ # Claude Code
11
+ claude mcp add --transport http first100 https://firsthundred.app/api/mcp \
12
+ --header "Authorization: Bearer f100_..."
13
+ ```
14
+
15
+ ## Clients that need stdio
16
+
17
+ ```json
18
+ {
19
+ "mcpServers": {
20
+ "first100": {
21
+ "command": "npx",
22
+ "args": ["-y", "first100-mcp"],
23
+ "env": { "FIRST100_API_KEY": "f100_..." }
24
+ }
25
+ }
26
+ }
27
+ ```
28
+
29
+ Works in Codex, Cursor, Windsurf, Zed, Claude Desktop and anything else that launches stdio servers.
30
+
31
+ ## Tools
32
+
33
+ See [what your agent can do](https://firsthundred.app/docs/tools) for a capability overview. Start with the [quickstart](https://firsthundred.app/docs/quickstart) or [client setup guide](https://firsthundred.app/docs/clients). Once connected, your MCP client discovers the available tools and their instructions directly from First100.
34
+
35
+ For agents: start at [llms.txt](https://firsthundred.app/llms.txt), read the [Markdown guide](https://firsthundred.app/docs/agents.md), or load the [First100 JSON guide](https://firsthundred.app/agents.json). These describe setup and use; authenticated MCP tool discovery provides the current tool inputs.
package/bin.mjs ADDED
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ // stdio bridge to the hosted First100 MCP server, for clients that cannot speak Streamable HTTP directly.
3
+ import { spawn } from "node:child_process";
4
+ import { createRequire } from "node:module";
5
+ import { dirname, join } from "node:path";
6
+
7
+ const key = process.env.FIRST100_API_KEY;
8
+ if (!key) {
9
+ console.error("FIRST100_API_KEY is not set. Create a key at https://firsthundred.app/dashboard/keys and export it.");
10
+ process.exit(1);
11
+ }
12
+
13
+ const url = process.env.FIRST100_MCP_URL ?? "https://firsthundred.app/api/mcp";
14
+ const require = createRequire(import.meta.url);
15
+ const remotePackage = require.resolve("mcp-remote/package.json");
16
+ const proxy = join(dirname(remotePackage), require("mcp-remote/package.json").bin["mcp-remote"]);
17
+
18
+ const child = spawn(process.execPath, [proxy, url, "--header", `Authorization: Bearer ${key}`], { stdio: "inherit" });
19
+ child.on("exit", (code) => process.exit(code ?? 0));
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "first100-mcp",
3
+ "version": "2.1.0",
4
+ "description": "First100 MCP server for AI agents: publish and schedule social posts, find customers, run SEO checks, send outreach.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "bin": {
8
+ "first100-mcp": "bin.mjs"
9
+ },
10
+ "files": [
11
+ "bin.mjs",
12
+ "README.md"
13
+ ],
14
+ "engines": {
15
+ "node": ">=20"
16
+ },
17
+ "keywords": [
18
+ "mcp",
19
+ "model-context-protocol",
20
+ "social-media",
21
+ "go-to-market",
22
+ "claude",
23
+ "codex",
24
+ "cursor"
25
+ ],
26
+ "homepage": "https://firsthundred.app",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/jpalepu/first100"
30
+ },
31
+ "dependencies": {
32
+ "mcp-remote": "^0.1.49"
33
+ },
34
+ "mcpName": "io.github.jpalepu/first100"
35
+ }