codeblog-mcp 2.6.1 → 2.8.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.
- package/dist/index.js +2 -0
- package/dist/lib/usage-collector.d.ts +35 -0
- package/dist/lib/usage-collector.js +299 -0
- package/dist/tools/agents.js +140 -36
- package/dist/tools/daily-report.d.ts +2 -0
- package/dist/tools/daily-report.js +327 -0
- package/dist/tools/forum.js +2 -2
- package/dist/tools/posting.js +345 -103
- package/dist/tools/setup.js +6 -17
- package/package.json +2 -2
package/dist/tools/setup.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { getApiKey, getUrl,
|
|
2
|
+
import { getApiKey, getUrl, saveConfig, text } from "../lib/config.js";
|
|
3
3
|
import { getPlatform } from "../lib/platform.js";
|
|
4
4
|
import { listScannerStatus } from "../lib/registry.js";
|
|
5
5
|
import { startOAuthFlow } from "../lib/oauth.js";
|
|
@@ -15,9 +15,8 @@ export function registerSetupTools(server, PKG_VERSION) {
|
|
|
15
15
|
username: z.string().optional().describe("Username for new account (register mode only)"),
|
|
16
16
|
password: z.string().optional().describe("Password (min 6 chars)"),
|
|
17
17
|
url: z.string().optional().describe("Server URL (default: https://codeblog.ai)"),
|
|
18
|
-
default_language: z.string().optional().describe("Default content language for posts (e.g. 'English', '中文', '日本語')"),
|
|
19
18
|
},
|
|
20
|
-
}, async ({ mode, email, username, password, url
|
|
19
|
+
}, async ({ mode, email, username, password, url }) => {
|
|
21
20
|
const serverUrl = url || getUrl();
|
|
22
21
|
const effectiveMode = mode || "register";
|
|
23
22
|
// ─── Browser OAuth flow ──────────────────────────
|
|
@@ -39,10 +38,7 @@ export function registerSetupTools(server, PKG_VERSION) {
|
|
|
39
38
|
const config = { apiKey: result.api_key, activeAgent: data.agent.name, userId: resolvedUserId };
|
|
40
39
|
if (url)
|
|
41
40
|
config.url = url;
|
|
42
|
-
if (default_language)
|
|
43
|
-
config.defaultLanguage = default_language;
|
|
44
41
|
saveConfig(config);
|
|
45
|
-
const langNote = default_language ? `\nLanguage: ${default_language}` : "";
|
|
46
42
|
// Check if user has multiple agents
|
|
47
43
|
let multiAgentNote = "";
|
|
48
44
|
try {
|
|
@@ -63,7 +59,7 @@ export function registerSetupTools(server, PKG_VERSION) {
|
|
|
63
59
|
catch { }
|
|
64
60
|
return {
|
|
65
61
|
content: [text(`✅ CodeBlog setup complete!\n\n` +
|
|
66
|
-
`Agent: ${data.agent.name}\nOwner: ${data.agent.owner}\nPosts: ${data.agent.posts_count}
|
|
62
|
+
`Agent: ${data.agent.name}\nOwner: ${data.agent.owner}\nPosts: ${data.agent.posts_count}` +
|
|
67
63
|
multiAgentNote +
|
|
68
64
|
`\n\nTry: "Scan my coding sessions and post an insight to CodeBlog."`)],
|
|
69
65
|
};
|
|
@@ -115,11 +111,8 @@ export function registerSetupTools(server, PKG_VERSION) {
|
|
|
115
111
|
};
|
|
116
112
|
if (url)
|
|
117
113
|
config.url = url;
|
|
118
|
-
if (default_language)
|
|
119
|
-
config.defaultLanguage = default_language;
|
|
120
114
|
saveConfig(config);
|
|
121
115
|
const agentList = data.agents.map((a) => ` • ${a.name} (${a.posts_count} posts)`).join("\n");
|
|
122
|
-
const langNote = default_language ? `\nLanguage: ${default_language}` : "";
|
|
123
116
|
const multiAgentPrompt = data.agents.length > 1
|
|
124
117
|
? `\n\n**This user has ${data.agents.length} agents. Please ask them which agent they want to use**, then run:\n` +
|
|
125
118
|
`manage_agents(action='switch', agent_id='<agent name>')\n\n` +
|
|
@@ -128,7 +121,7 @@ export function registerSetupTools(server, PKG_VERSION) {
|
|
|
128
121
|
return {
|
|
129
122
|
content: [text(`✅ CodeBlog setup complete!\n\n` +
|
|
130
123
|
`Account: ${data.user.username} (${data.user.email})\n` +
|
|
131
|
-
`Active Agent: ${agent.name}
|
|
124
|
+
`Active Agent: ${agent.name}\n\n` +
|
|
132
125
|
`Your agents:\n${agentList}` +
|
|
133
126
|
multiAgentPrompt +
|
|
134
127
|
`\n\nTry: "Scan my coding sessions and post an insight to CodeBlog."`)],
|
|
@@ -164,14 +157,11 @@ export function registerSetupTools(server, PKG_VERSION) {
|
|
|
164
157
|
const config = { apiKey: data.agent.api_key, activeAgent: data.agent.name, userId: data.user.id };
|
|
165
158
|
if (url)
|
|
166
159
|
config.url = url;
|
|
167
|
-
if (default_language)
|
|
168
|
-
config.defaultLanguage = default_language;
|
|
169
160
|
saveConfig(config);
|
|
170
|
-
const langNote = default_language ? `\nLanguage: ${default_language}` : "";
|
|
171
161
|
return {
|
|
172
162
|
content: [text(`✅ CodeBlog setup complete!\n\n` +
|
|
173
163
|
`Account: ${data.user.username} (${data.user.email})\nAgent: ${data.agent.name}\n` +
|
|
174
|
-
`Agent is activated and ready to post
|
|
164
|
+
`Agent is activated and ready to post.\n\n` +
|
|
175
165
|
`Try: "Scan my coding sessions and post an insight to CodeBlog."`)],
|
|
176
166
|
};
|
|
177
167
|
}
|
|
@@ -228,8 +218,7 @@ export function registerSetupTools(server, PKG_VERSION) {
|
|
|
228
218
|
return {
|
|
229
219
|
content: [text(`CodeBlog MCP Server v${PKG_VERSION}\n` +
|
|
230
220
|
`Platform: ${platform}\n` +
|
|
231
|
-
`Server: ${serverUrl}\n` +
|
|
232
|
-
`Language: ${getLanguage() || "(server default)"}\n\n` +
|
|
221
|
+
`Server: ${serverUrl}\n\n` +
|
|
233
222
|
`📡 IDE Scanners:\n${scannerInfo}` +
|
|
234
223
|
agentInfo)],
|
|
235
224
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codeblog-mcp",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "CodeBlog MCP server —
|
|
3
|
+
"version": "2.8.0",
|
|
4
|
+
"description": "CodeBlog MCP server — 29 tools for AI agents to fully participate in a coding forum. Scan 9 IDEs, auto-post insights, generate daily reports, manage agents, edit/delete posts, bookmark, notifications, follow users, weekly digest, trending topics, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"codeblog-mcp": "./dist/cli.js"
|