50c 1.1.0 → 1.4.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 (4) hide show
  1. package/LICENSE +6 -8
  2. package/README.md +120 -96
  3. package/bin/50c.js +123 -28
  4. package/package.json +6 -6
package/LICENSE CHANGED
@@ -1,14 +1,13 @@
1
1
  PROPRIETARY SOFTWARE LICENSE
2
2
 
3
- Copyright (c) 2026 genxis.com. All Rights Reserved.
3
+ Copyright (c) 2026 genxis. All Rights Reserved.
4
4
 
5
5
  This software and associated documentation files (the "Software") are the
6
- proprietary property of genxis.com.
6
+ proprietary property of genxis.
7
7
 
8
8
  USAGE TERMS:
9
- 1. You may install and use this Software only with a valid API key purchased
10
- from genxis.com.
11
- 2. Each use of the Software requires credits purchased at $0.50 per problem.
9
+ 1. You may install and use this Software only with a valid API key.
10
+ 2. Each use of the Software requires credits at published rates.
12
11
  3. You may NOT copy, modify, merge, publish, distribute, sublicense, or sell
13
12
  copies of the Software.
14
13
  4. You may NOT reverse engineer, decompile, or disassemble the Software.
@@ -26,8 +25,7 @@ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26
25
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
27
26
 
28
27
  LIMITATION OF LIABILITY:
29
- IN NO EVENT SHALL GENXIS.COM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28
+ IN NO EVENT SHALL GENXIS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
29
  LIABILITY ARISING FROM THE USE OF THE SOFTWARE.
31
30
 
32
- For licensing inquiries: sales@genxis.com
33
- Purchase credits: https://genxis.com/50c
31
+ Contact: https://genxis.one
package/README.md CHANGED
@@ -1,26 +1,56 @@
1
- # 50c - Genius Problem Solving for Any IDE
1
+ # 50c - AI Augmentation CLI & MCP Server
2
2
 
3
- **$0.50 per problem solved**
3
+ **Augment any AI with genius-level problem solving**
4
4
 
5
- MCP server that augments ANY AI with genius-level problem solving.
6
- **Product of [genxis.com](https://genxis.com)**
5
+ Works as both:
6
+ - **CLI** for agents and scripts
7
+ - **MCP server** for IDEs (Claude Desktop, Cursor, VS Code, etc.)
7
8
 
8
9
  ---
9
10
 
10
- ## Quick Start
11
+ ## CLI Mode (for Agents)
11
12
 
12
- ### 1. Get API Key
13
- Visit https://genxis.com/50c
13
+ ```bash
14
+ # Install globally (optional)
15
+ npm install -g 50c
16
+
17
+ # Or use directly with npx
18
+ export FIFTYC_API_KEY="your-key"
19
+
20
+ # Deep problem solving ($0.50)
21
+ 50c genius "How do I scale PostgreSQL to 10M rows?"
22
+
23
+ # Quick hints ($0.05)
24
+ 50c hints "api design"
14
25
 
15
- ### 2. Configure Your IDE (pick one)
26
+ # Expanded hints ($0.10)
27
+ 50c hints+ "microservices architecture"
16
28
 
17
- > `npx -y 50c` auto-downloads on first run - no install needed!
29
+ # Creative ideas ($0.05)
30
+ 50c vibe "building a CLI tool"
31
+ ```
32
+
33
+ **Agent-friendly:** Output is plain text, ready for piping:
34
+
35
+ ```bash
36
+ # Use in scripts
37
+ ANSWER=$(50c genius "Fix this SQL query")
38
+ echo "$ANSWER" | grep "SELECT"
39
+
40
+ # Chain with other tools
41
+ 50c hints "caching strategies" | head -3
42
+ ```
18
43
 
19
44
  ---
20
45
 
46
+ ## MCP Mode (for IDEs)
47
+
48
+ When run without arguments, starts JSON-RPC server on stdin/stdout.
49
+
21
50
  ### Claude Desktop
22
51
 
23
- Config file: `~/.claude/claude_desktop_config.json` (Mac/Linux) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows)
52
+ **Mac/Linux:** `~/.claude/claude_desktop_config.json`
53
+ **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
24
54
 
25
55
  ```json
26
56
  {
@@ -36,11 +66,9 @@ Config file: `~/.claude/claude_desktop_config.json` (Mac/Linux) or `%APPDATA%\Cl
36
66
  }
37
67
  ```
38
68
 
39
- ---
40
-
41
69
  ### Cursor
42
70
 
43
- Config file: `~/.cursor/mcp.json`
71
+ **Config:** `~/.cursor/mcp.json`
44
72
 
45
73
  ```json
46
74
  {
@@ -56,11 +84,9 @@ Config file: `~/.cursor/mcp.json`
56
84
  }
57
85
  ```
58
86
 
59
- ---
60
-
61
87
  ### VS Code (Copilot)
62
88
 
63
- Config file: `.vscode/mcp.json` in workspace or user settings
89
+ **Config:** `.vscode/mcp.json`
64
90
 
65
91
  ```json
66
92
  {
@@ -76,13 +102,9 @@ Config file: `.vscode/mcp.json` in workspace or user settings
76
102
  }
77
103
  ```
78
104
 
79
- Or via Command Palette: `MCP: Add Server`
80
-
81
- ---
82
-
83
105
  ### Windsurf
84
106
 
85
- Config file: `~/.codeium/windsurf/mcp_config.json`
107
+ **Config:** `~/.codeium/windsurf/mcp_config.json`
86
108
 
87
109
  ```json
88
110
  {
@@ -98,20 +120,9 @@ Config file: `~/.codeium/windsurf/mcp_config.json`
98
120
  }
99
121
  ```
100
122
 
101
- ---
102
-
103
- ### JetBrains (IntelliJ, WebStorm, PyCharm, etc.)
104
-
105
- 1. Go to **Settings → Tools → MCP Server**
106
- 2. Click **Enable MCP Server**
107
- 3. Add external server with command: `npx -y 50c`
108
- 4. Set environment variable: `FIFTYC_API_KEY=<YOUR_API_KEY>`
109
-
110
- ---
111
-
112
123
  ### Zed
113
124
 
114
- Config file: `~/.config/zed/settings.json`
125
+ **Config:** `~/.config/zed/settings.json`
115
126
 
116
127
  ```json
117
128
  {
@@ -131,79 +142,110 @@ Config file: `~/.config/zed/settings.json`
131
142
 
132
143
  ---
133
144
 
134
- ### ChatGPT (Developer Mode)
145
+ ## Tools & Pricing
135
146
 
136
- 1. Go to **Settings Connectors → Advanced Settings**
137
- 2. Enable **Developer Mode (beta)**
138
- 3. Click **Create** under Browser connectors
139
- 4. Add MCP server URL: `https://50c.ai/mcp`
140
- 5. Add header: `Authorization: Bearer <YOUR_API_KEY>`
147
+ | Tool | Cost | Description |
148
+ |------|------|-------------|
149
+ | `genius` | $0.50 | Deep problem solving with research |
150
+ | `hints` | $0.05 | 5 brutal 2-word hints |
151
+ | `hints+` | $0.10 | 10 expanded hints (4 words each) |
152
+ | `vibe` | $0.05 | 3 unconventional ideas |
141
153
 
142
154
  ---
143
155
 
144
- ### OpenAI Codex CLI
156
+ ## Unified API: genxis.one
145
157
 
146
- Config file: `~/.codex/config.toml`
158
+ **One bare root. Every capability. Streaming-first.**
147
159
 
148
- ```toml
149
- [mcp.50c]
150
- command = "npx"
151
- args = ["-y", "50c"]
160
+ `https://genxis.one` is the unified gateway—no versioned paths, no fragmented endpoints. Just POST to root.
152
161
 
153
- [mcp.50c.env]
154
- FIFTYC_API_KEY = "<YOUR_API_KEY>"
155
- ```
162
+ ### Why This Matters
156
163
 
157
- Or run: `codex mcp add 50c`
164
+ Traditional APIs scatter functionality across dozens of endpoints. We plant the flag for the future: **one URL, infinite capabilities, streaming by default.**
158
165
 
159
- ---
166
+ ```
167
+ POST https://genxis.one
168
+ ```
160
169
 
161
- > **Warning:** Never commit your API key to version control.
170
+ That's it. The body determines everything.
162
171
 
163
- ---
172
+ ### Single Tool Call
164
173
 
165
- ## Tools
174
+ ```bash
175
+ curl -X POST https://genxis.one \
176
+ -H "Content-Type: application/json" \
177
+ -d '{"m": "genius", "q": "your problem"}'
178
+ ```
166
179
 
167
- | Tool | Cost | Description |
168
- |------|------|-------------|
169
- | `genius_mode` | $0.50 | Deep problem solver with research |
170
- | `quick_vibe` | $0.50 | Quick idea injection |
171
- | `check_balance` | FREE | Check remaining credits |
180
+ ### Recipe Chains (Composable AI)
172
181
 
173
- ---
182
+ Chain multiple tools in one request. Output flows through each step:
174
183
 
175
- ## Pricing
184
+ ```bash
185
+ curl -X POST https://genxis.one \
186
+ -H "Content-Type: application/json" \
187
+ -d '{"chain": ["vibe", "hints+"], "q": "your idea"}'
188
+ ```
176
189
 
177
- - **Starter:** $5 = 10 problems
178
- - **Developer:** $25 = 50 problems
179
- - **Pro:** $100 = 200 problems
190
+ ### Parallel Execution
180
191
 
181
- No subscriptions. Credits never expire.
192
+ Run multiple tools simultaneously:
182
193
 
183
- ---
194
+ ```bash
195
+ curl -X POST https://genxis.one \
196
+ -H "Content-Type: application/json" \
197
+ -d '{"parallel": ["hints", "vibe"], "q": "your idea"}'
198
+ ```
199
+
200
+ ### Streaming (SSE)
184
201
 
185
- ## CLI Usage
202
+ Add `"stream": true` to any request for server-sent events:
186
203
 
187
204
  ```bash
188
- # Check version
189
- 50c --version
205
+ curl -X POST https://genxis.one \
206
+ -H "Content-Type: application/json" \
207
+ -d '{"m": "genius", "q": "problem", "stream": true}'
208
+ ```
209
+
210
+ ### OpenAI-Compatible
190
211
 
191
- # Show help
192
- 50c --help
212
+ Drop-in replacement for existing integrations:
213
+
214
+ ```bash
215
+ curl -X POST https://genxis.one/v1/chat/completions \
216
+ -H "Content-Type: application/json" \
217
+ -d '{"model": "50c-genius", "messages": [{"role": "user", "content": "problem"}]}'
193
218
  ```
194
219
 
220
+ ### Available Models
221
+
222
+ | Model | Cost | Use Case |
223
+ |-------|------|----------|
224
+ | `genius` | $0.50 | Deep problem solving |
225
+ | `hints` | $0.05 | 5 brutal 2-word hints |
226
+ | `hints+` | $0.10 | 10 expanded 4-word hints |
227
+ | `vibe` | $0.05 | 3 unconventional ideas |
228
+ | `one-liner` | $0.02 | 8-word elevator pitch |
229
+ | `roast` | $0.05 | Brutal code review |
230
+ | `name-it` | $0.03 | 5 names + domain check |
231
+ | `price-it` | $0.05 | SaaS pricing strategy |
232
+ | `compute` | $0.02 | Execute Python code |
233
+ | `mind-opener` | $0.08 | 5 curious angles |
234
+
195
235
  ---
196
236
 
197
- ## Requirements
237
+ ## Environment Variables
198
238
 
199
- - Node.js 18+
200
- - API key from genxis.com
239
+ | Variable | Description |
240
+ |----------|-------------|
241
+ | `FIFTYC_API_KEY` | Your API key (required) |
242
+ | `FIFTYC_ENDPOINT` | Custom endpoint (optional) |
201
243
 
202
244
  ---
203
245
 
204
- ## Web Apps & Cloudflare Workers
246
+ ## SDK
205
247
 
206
- For programmatic access (not IDE integration), use the SDK:
248
+ For programmatic use in Node.js, browsers, or Cloudflare Workers:
207
249
 
208
250
  ```bash
209
251
  npm install 50c-sdk
@@ -211,28 +253,10 @@ npm install 50c-sdk
211
253
 
212
254
  ```typescript
213
255
  import { FiftyC } from '50c-sdk';
214
-
215
- const ai = new FiftyC('your-api-key');
216
- const answer = await ai.genius('How do I optimize this SQL query?');
256
+ const ai = new FiftyC('your-key');
257
+ const answer = await ai.genius('your problem');
217
258
  ```
218
259
 
219
- Works in Node.js, browsers, Cloudflare Workers, Deno, Bun.
220
-
221
- See [50c-sdk on npm](https://www.npmjs.com/package/50c-sdk) for full API docs.
222
-
223
- ---
224
-
225
- ## Troubleshooting
226
-
227
- **"FIFTYC_API_KEY environment variable required"**
228
- Set your API key in the MCP config env section.
229
-
230
- **Request timeout**
231
- Check your internet connection. Server may be temporarily unavailable.
232
-
233
- **IDE not detecting MCP server**
234
- Restart your IDE after adding the config. Check the config file path is correct.
235
-
236
260
  ---
237
261
 
238
- **Built by genxis.com** | https://genxis.com/50c
262
+ **Built by genxis**
package/bin/50c.js CHANGED
@@ -2,51 +2,145 @@
2
2
  const https = require('https');
3
3
  const readline = require('readline');
4
4
 
5
+ const API_ENDPOINT = process.env.FIFTYC_ENDPOINT || 'https://50c.ai';
6
+ const MCP_ENDPOINT = API_ENDPOINT + '/mcp';
7
+ const API_KEY = process.env.FIFTYC_API_KEY;
8
+
9
+ // Version
5
10
  if (process.argv.includes('--version') || process.argv.includes('-v')) {
6
11
  console.log(require('../package.json').version);
7
12
  process.exit(0);
8
13
  }
9
14
 
15
+ // Help
10
16
  if (process.argv.includes('--help') || process.argv.includes('-h')) {
17
+ showHelp();
18
+ process.exit(0);
19
+ }
20
+
21
+ function showHelp() {
11
22
  console.log(`
12
- 50c - Genius Problem Solving MCP Server
13
- Usage: 50c (reads JSON-RPC from stdin)
23
+ 50c - AI Augmentation CLI & MCP Server
14
24
 
15
- Environment:
25
+ USAGE:
26
+ 50c <command> <input> Direct CLI mode
27
+ 50c MCP mode (JSON-RPC via stdin)
28
+
29
+ COMMANDS:
30
+ genius <problem> Deep problem solving ($0.50)
31
+ hints <topic> 5 brutal 2-word hints ($0.05)
32
+ hints+ <topic> 10 expanded hints ($0.10)
33
+ vibe <working_on> 3 unconventional ideas ($0.05)
34
+ one-liner <product> Elevator pitch in 8 words ($0.02)
35
+ roast <code> Brutal code review ($0.05)
36
+ name-it <does> 5 names + domain check ($0.03)
37
+ price-it <product> SaaS pricing strategy ($0.05)
38
+ compute <code> Execute Python code ($0.02)
39
+
40
+ EXAMPLES:
41
+ 50c genius "How do I scale PostgreSQL?"
42
+ 50c hints "api design"
43
+ 50c one-liner "habit tracker with friends"
44
+ 50c roast "const x = localStorage.getItem('jwt')"
45
+ 50c name-it "AI that writes emails"
46
+ 50c price-it "email automation SaaS"
47
+
48
+ ENVIRONMENT:
16
49
  FIFTYC_API_KEY Your API key (required)
17
- FIFTYC_ENDPOINT Custom endpoint (optional)
50
+ FIFTYC_ENDPOINT Custom endpoint (default: https://50c.ai)
18
51
 
19
- Get your API key at https://genxis.com/50c
52
+ MCP MODE:
53
+ Run without arguments for IDE integration (Claude Desktop, Cursor, etc.)
20
54
  `);
21
- process.exit(0);
22
55
  }
23
56
 
24
- const MCP_ENDPOINT = process.env.FIFTYC_ENDPOINT || 'https://50c.ai/mcp';
25
- const API_KEY = process.env.FIFTYC_API_KEY;
26
-
57
+ // Check API key
27
58
  if (!API_KEY) {
28
59
  console.error('Error: FIFTYC_API_KEY environment variable required');
29
- console.error('Get your key at https://genxis.com/50c');
60
+ console.error('Get your key at: https://50c.ai');
30
61
  process.exit(1);
31
62
  }
32
63
 
33
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false });
34
-
35
- rl.on('line', async (line) => {
36
- try {
37
- const clean = line.trim();
38
- if (!clean) return;
39
- const request = JSON.parse(clean);
40
- const response = await callRemoteMCP(request);
41
- process.stdout.write(JSON.stringify(response) + '\n');
42
- } catch (e) {
43
- process.stdout.write(JSON.stringify({
44
- jsonrpc: '2.0',
45
- id: null,
46
- error: { code: -32603, message: e.message }
47
- }) + '\n');
64
+ // CLI commands
65
+ const COMMANDS = ['genius', 'hints', 'hints+', 'vibe', 'compute', 'one-liner', 'roast', 'name-it', 'price-it', 'mind-opener'];
66
+ const command = process.argv[2];
67
+ const input = process.argv.slice(3).join(' ');
68
+
69
+ if (command && COMMANDS.includes(command)) {
70
+ if (!input) {
71
+ console.error(`Error: ${command} requires input`);
72
+ process.exit(1);
73
+ }
74
+
75
+ runCLI(command, input).then(result => {
76
+ console.log(result);
77
+ process.exit(0);
78
+ }).catch(err => {
79
+ console.error('Error:', err.message);
80
+ process.exit(1);
81
+ });
82
+ } else if (command) {
83
+ startMCPMode();
84
+ } else {
85
+ startMCPMode();
86
+ }
87
+
88
+ async function runCLI(cmd, query) {
89
+ // Map CLI commands to MCP tool names
90
+ const toolMap = {
91
+ 'genius': { name: 'genius', arg: 'problem' },
92
+ 'hints': { name: 'hints', arg: 'query' },
93
+ 'hints+': { name: 'hints_plus', arg: 'query' },
94
+ 'vibe': { name: 'quick_vibe', arg: 'working_on' },
95
+ 'compute': { name: 'compute', arg: 'code' },
96
+ 'one-liner': { name: 'one_liner', arg: 'product' },
97
+ 'roast': { name: 'roast', arg: 'code' },
98
+ 'name-it': { name: 'name_it', arg: 'does' },
99
+ 'price-it': { name: 'price_it', arg: 'product' },
100
+ 'mind-opener': { name: 'mind_opener', arg: 'problem' }
101
+ };
102
+
103
+ const tool = toolMap[cmd];
104
+ if (!tool) throw new Error(`Unknown command: ${cmd}`);
105
+
106
+ const request = {
107
+ jsonrpc: '2.0',
108
+ id: 1,
109
+ method: 'tools/call',
110
+ params: {
111
+ name: tool.name,
112
+ arguments: { [tool.arg]: query }
113
+ }
114
+ };
115
+
116
+ const response = await callRemoteMCP(request);
117
+
118
+ if (response.error) {
119
+ throw new Error(response.error.message || JSON.stringify(response.error));
48
120
  }
49
- });
121
+
122
+ return response.result?.content?.[0]?.text || 'No output';
123
+ }
124
+
125
+ function startMCPMode() {
126
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false });
127
+
128
+ rl.on('line', async (line) => {
129
+ try {
130
+ const clean = line.trim();
131
+ if (!clean) return;
132
+ const request = JSON.parse(clean);
133
+ const response = await callRemoteMCP(request);
134
+ process.stdout.write(JSON.stringify(response) + '\n');
135
+ } catch (e) {
136
+ process.stdout.write(JSON.stringify({
137
+ jsonrpc: '2.0',
138
+ id: null,
139
+ error: { code: -32603, message: e.message }
140
+ }) + '\n');
141
+ }
142
+ });
143
+ }
50
144
 
51
145
  function callRemoteMCP(request) {
52
146
  return new Promise((resolve, reject) => {
@@ -61,7 +155,8 @@ function callRemoteMCP(request) {
61
155
  headers: {
62
156
  'Content-Type': 'application/json',
63
157
  'Content-Length': Buffer.byteLength(postData),
64
- 'Authorization': `Bearer ${API_KEY}`
158
+ 'Authorization': `Bearer ${API_KEY}`,
159
+ 'User-Agent': '50c-cli/1.4.0'
65
160
  }
66
161
  };
67
162
 
@@ -77,7 +172,7 @@ function callRemoteMCP(request) {
77
172
  });
78
173
  });
79
174
 
80
- req.setTimeout(30000, () => {
175
+ req.setTimeout(120000, () => {
81
176
  req.destroy();
82
177
  reject(new Error('Request timeout'));
83
178
  });
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "50c",
3
- "version": "1.1.0",
4
- "description": "AI hints + genius mode. hints=$0.05 (5x2 words), hints_plus=$0.10 (10x4 words), genius_mode=$0.50. Product of genxis.com.",
3
+ "version": "1.4.0",
4
+ "description": "AI augmentation CLI & MCP server. genius, hints, roast, one-liner, name-it, price-it + more.",
5
5
  "bin": {
6
6
  "50c": "./bin/50c.js"
7
7
  },
8
8
  "scripts": {
9
- "postinstall": "node -e \"console.log('\\n50c installed. Set FIFTYC_API_KEY env var. Get key at https://genxis.com/50c\\n')\""
9
+ "postinstall": "node -e \"console.log('\\n50c installed. Set FIFTYC_API_KEY env var.\\n')\""
10
10
  },
11
- "keywords": ["mcp", "ai", "llm", "augmentation", "genxis", "50c", "agent", "intelligence", "problem-solving"],
12
- "author": "genxis.com",
11
+ "keywords": ["mcp", "ai", "llm", "cli", "agent", "genxis", "50c", "intelligence", "problem-solving", "hints", "genius", "compute"],
12
+ "author": "genxis",
13
13
  "license": "SEE LICENSE IN LICENSE",
14
- "homepage": "https://genxis.com/50c",
14
+ "homepage": "https://50c.ai",
15
15
  "engines": {
16
16
  "node": ">=18.0.0"
17
17
  },