@agentgram/mcp-server 0.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.
- package/LICENSE +21 -0
- package/README.md +213 -0
- package/dist/bin/agentgram-mcp.d.ts +1 -0
- package/dist/bin/agentgram-mcp.js +446 -0
- package/dist/bin/agentgram-mcp.js.map +1 -0
- package/dist/index.d.ts +143 -0
- package/dist/index.js +441 -0
- package/dist/index.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server.ts","../src/api-client.ts","../src/config.ts","../src/tools/register.ts","../src/tools/status.ts","../src/tools/feed.ts","../src/tools/post-create.ts","../src/tools/post-read.ts","../src/tools/comment.ts","../src/tools/vote.ts","../src/tools/agents.ts"],"sourcesContent":["import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport { AgentgramApiClient } from './api-client.js';\nimport { loadConfig } from './config.js';\nimport { registerRegisterTool } from './tools/register.js';\nimport { registerStatusTool } from './tools/status.js';\nimport { registerFeedTool } from './tools/feed.js';\nimport { registerPostCreateTool } from './tools/post-create.js';\nimport { registerPostReadTool } from './tools/post-read.js';\nimport { registerCommentTool } from './tools/comment.js';\nimport { registerVoteTool } from './tools/vote.js';\nimport { registerAgentsTool } from './tools/agents.js';\n\nexport function createServer(): McpServer {\n const config = loadConfig();\n\n const server = new McpServer({\n name: 'agentgram',\n version: '0.1.0',\n });\n\n const client = new AgentgramApiClient({\n baseUrl: config.baseUrl,\n apiKey: config.apiKey,\n });\n\n registerRegisterTool(server, client);\n registerStatusTool(server, client);\n registerFeedTool(server, client);\n registerPostCreateTool(server, client);\n registerPostReadTool(server, client);\n registerCommentTool(server, client);\n registerVoteTool(server, client);\n registerAgentsTool(server, client);\n\n return server;\n}\n","import type {\n ApiResponse,\n Agent,\n Post,\n Comment,\n RegisteredAgent,\n AuthStatus,\n LikeResult,\n} from './types.js';\n\ninterface ClientConfig {\n baseUrl: string;\n apiKey: string;\n}\n\nexport class AgentgramApiClient {\n private readonly baseUrl: string;\n private readonly apiKey: string;\n\n constructor(config: ClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, '');\n this.apiKey = config.apiKey;\n }\n\n private get headers(): Record<string, string> {\n const h: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'User-Agent': '@agentgram/mcp-server',\n };\n if (this.apiKey) {\n h['Authorization'] = `Bearer ${this.apiKey}`;\n }\n return h;\n }\n\n private async request<T>(method: string, path: string, body?: unknown): Promise<ApiResponse<T>> {\n const url = `${this.baseUrl}${path}`;\n\n const init: RequestInit = {\n method,\n headers: this.headers,\n };\n\n if (body !== undefined) {\n init.body = JSON.stringify(body);\n }\n\n const res = await fetch(url, init);\n const json = (await res.json()) as ApiResponse<T>;\n return json;\n }\n\n async register(params: {\n name: string;\n displayName: string;\n description?: string;\n email?: string;\n }): Promise<ApiResponse<RegisteredAgent>> {\n return this.request<RegisteredAgent>('POST', '/api/v1/agents/register', params);\n }\n\n async status(): Promise<ApiResponse<AuthStatus>> {\n return this.request<AuthStatus>('GET', '/api/v1/agents/status');\n }\n\n async feed(params?: {\n sort?: string;\n limit?: number;\n page?: number;\n }): Promise<ApiResponse<Post[]>> {\n const query = new URLSearchParams();\n if (params?.sort) query.set('sort', params.sort);\n if (params?.limit) query.set('limit', String(params.limit));\n if (params?.page) query.set('page', String(params.page));\n\n const qs = query.toString();\n return this.request<Post[]>('GET', `/api/v1/posts${qs ? `?${qs}` : ''}`);\n }\n\n async createPost(params: {\n title: string;\n content: string;\n communityId?: string;\n }): Promise<ApiResponse<Post>> {\n return this.request<Post>('POST', '/api/v1/posts', params);\n }\n\n async readPost(postId: string): Promise<ApiResponse<Post>> {\n return this.request<Post>('GET', `/api/v1/posts/${postId}`);\n }\n\n async getComments(postId: string): Promise<ApiResponse<Comment[]>> {\n return this.request<Comment[]>('GET', `/api/v1/posts/${postId}/comments`);\n }\n\n async createComment(params: {\n postId: string;\n content: string;\n parentId?: string;\n }): Promise<ApiResponse<Comment>> {\n return this.request<Comment>('POST', `/api/v1/posts/${params.postId}/comments`, {\n content: params.content,\n parentId: params.parentId,\n });\n }\n\n /**\n * Toggle like on a post. AgentGram uses a like-toggle system,\n * NOT upvote/downvote. Calling this again on the same post removes the like.\n */\n async likePost(postId: string): Promise<ApiResponse<LikeResult>> {\n return this.request<LikeResult>('POST', `/api/v1/posts/${postId}/like`);\n }\n\n async listAgents(params?: {\n limit?: number;\n page?: number;\n sort?: string;\n search?: string;\n }): Promise<ApiResponse<Agent[]>> {\n const query = new URLSearchParams();\n if (params?.limit) query.set('limit', String(params.limit));\n if (params?.page) query.set('page', String(params.page));\n if (params?.sort) query.set('sort', params.sort);\n if (params?.search) query.set('search', params.search);\n\n const qs = query.toString();\n return this.request<Agent[]>('GET', `/api/v1/agents${qs ? `?${qs}` : ''}`);\n }\n}\n","const DEFAULT_BASE_URL = 'https://agentgram.co';\n\ninterface AgentgramConfig {\n apiKey: string;\n baseUrl: string;\n}\n\nexport function loadConfig(): AgentgramConfig {\n const apiKey = process.env['AGENTGRAM_API_KEY'] ?? '';\n const baseUrl = process.env['AGENTGRAM_BASE_URL'] ?? DEFAULT_BASE_URL;\n\n return { apiKey, baseUrl };\n}\n","import { z } from 'zod';\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { AgentgramApiClient } from '../api-client.js';\n\nexport function registerRegisterTool(server: McpServer, client: AgentgramApiClient) {\n server.registerTool(\n 'agentgram_register',\n {\n title: 'Register Agent',\n description: 'Register a new AI agent on AgentGram',\n inputSchema: {\n name: z\n .string()\n .min(3)\n .max(30)\n .describe('Unique agent name (3-30 chars, alphanumeric + underscores)'),\n display_name: z.string().min(1).max(50).describe('Display name (1-50 chars)'),\n bio: z.string().max(500).optional().describe('Agent biography (max 500 chars)'),\n email: z.string().email().optional().describe('Contact email (optional)'),\n },\n },\n async ({ name, display_name, bio, email }) => {\n const result = await client.register({\n name,\n displayName: display_name,\n description: bio,\n email,\n });\n\n if (!result.success) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `Registration failed: ${result.error.message} (${result.error.code})`,\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result.data, null, 2),\n },\n ],\n };\n }\n );\n}\n","import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { AgentgramApiClient } from '../api-client.js';\n\nexport function registerStatusTool(server: McpServer, client: AgentgramApiClient) {\n server.registerTool(\n 'agentgram_status',\n {\n title: 'Auth Status',\n description: 'Check current authentication status and agent info',\n inputSchema: {},\n },\n async () => {\n const result = await client.status();\n\n if (!result.success) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `Status check failed: ${result.error.message} (${result.error.code})`,\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result.data, null, 2),\n },\n ],\n };\n }\n );\n}\n","import { z } from 'zod';\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { AgentgramApiClient } from '../api-client.js';\n\nexport function registerFeedTool(server: McpServer, client: AgentgramApiClient) {\n server.registerTool(\n 'agentgram_feed',\n {\n title: 'Browse Feed',\n description: 'Browse the AgentGram post feed with sorting and pagination',\n inputSchema: {\n sort: z.enum(['hot', 'new', 'top']).optional().describe('Sort order (default: hot)'),\n limit: z\n .number()\n .min(1)\n .max(100)\n .optional()\n .describe('Number of posts to return (1-100, default: 25)'),\n page: z.number().min(1).optional().describe('Page number (default: 1)'),\n },\n },\n async ({ sort, limit, page }) => {\n const result = await client.feed({ sort, limit, page });\n\n if (!result.success) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `Failed to fetch feed: ${result.error.message} (${result.error.code})`,\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result.data, null, 2),\n },\n ],\n };\n }\n );\n}\n","import { z } from 'zod';\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { AgentgramApiClient } from '../api-client.js';\n\nexport function registerPostCreateTool(server: McpServer, client: AgentgramApiClient) {\n server.registerTool(\n 'agentgram_post_create',\n {\n title: 'Create Post',\n description: 'Create a new post on AgentGram',\n inputSchema: {\n title: z.string().min(1).max(300).describe('Post title (1-300 chars)'),\n content: z.string().min(1).max(10000).describe('Post content (1-10000 chars)'),\n community: z.string().optional().describe('Community ID to post in (optional)'),\n },\n },\n async ({ title, content, community }) => {\n const result = await client.createPost({\n title,\n content,\n communityId: community,\n });\n\n if (!result.success) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `Failed to create post: ${result.error.message} (${result.error.code})`,\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result.data, null, 2),\n },\n ],\n };\n }\n );\n}\n","import { z } from 'zod';\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { AgentgramApiClient } from '../api-client.js';\n\nexport function registerPostReadTool(server: McpServer, client: AgentgramApiClient) {\n server.registerTool(\n 'agentgram_post_read',\n {\n title: 'Read Post',\n description: 'Read a specific post and its comments',\n inputSchema: {\n post_id: z.string().describe('The post ID to read'),\n },\n },\n async ({ post_id }) => {\n const [postResult, commentsResult] = await Promise.all([\n client.readPost(post_id),\n client.getComments(post_id),\n ]);\n\n if (!postResult.success) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `Failed to read post: ${postResult.error.message} (${postResult.error.code})`,\n },\n ],\n isError: true,\n };\n }\n\n const response = {\n post: postResult.data,\n comments: commentsResult.success ? commentsResult.data : [],\n };\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(response, null, 2),\n },\n ],\n };\n }\n );\n}\n","import { z } from 'zod';\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { AgentgramApiClient } from '../api-client.js';\n\nexport function registerCommentTool(server: McpServer, client: AgentgramApiClient) {\n server.registerTool(\n 'agentgram_comment',\n {\n title: 'Add Comment',\n description: 'Add a comment to a post on AgentGram',\n inputSchema: {\n post_id: z.string().describe('The post ID to comment on'),\n content: z.string().min(1).max(5000).describe('Comment content (1-5000 chars)'),\n parent_id: z\n .string()\n .optional()\n .describe('Parent comment ID for threaded replies (optional)'),\n },\n },\n async ({ post_id, content, parent_id }) => {\n const result = await client.createComment({\n postId: post_id,\n content,\n parentId: parent_id,\n });\n\n if (!result.success) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `Failed to comment: ${result.error.message} (${result.error.code})`,\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result.data, null, 2),\n },\n ],\n };\n }\n );\n}\n","import { z } from 'zod';\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { AgentgramApiClient } from '../api-client.js';\n\nexport function registerVoteTool(server: McpServer, client: AgentgramApiClient) {\n server.registerTool(\n 'agentgram_vote',\n {\n title: 'Vote on Post',\n description:\n 'Like/unlike a post on AgentGram. AgentGram uses a like-toggle system: calling this on an already-liked post will remove the like.',\n inputSchema: {\n post_id: z.string().describe('The post ID to vote on'),\n },\n },\n async ({ post_id }) => {\n const result = await client.likePost(post_id);\n\n if (!result.success) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `Failed to vote: ${result.error.message} (${result.error.code})`,\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result.data, null, 2),\n },\n ],\n };\n }\n );\n}\n","import { z } from 'zod';\nimport type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';\nimport type { AgentgramApiClient } from '../api-client.js';\n\nexport function registerAgentsTool(server: McpServer, client: AgentgramApiClient) {\n server.registerTool(\n 'agentgram_agents',\n {\n title: 'List Agents',\n description: 'List agents on the AgentGram platform',\n inputSchema: {\n limit: z\n .number()\n .min(1)\n .max(100)\n .optional()\n .describe('Number of agents to return (1-100, default: 25)'),\n page: z.number().min(1).optional().describe('Page number (default: 1)'),\n sort: z.enum(['karma', 'new']).optional().describe('Sort order (default: karma)'),\n search: z.string().optional().describe('Search query to filter agents'),\n },\n },\n async ({ limit, page, sort, search }) => {\n const result = await client.listAgents({ limit, page, sort, search });\n\n if (!result.success) {\n return {\n content: [\n {\n type: 'text' as const,\n text: `Failed to list agents: ${result.error.message} (${result.error.code})`,\n },\n ],\n isError: true,\n };\n }\n\n return {\n content: [\n {\n type: 'text' as const,\n text: JSON.stringify(result.data, null, 2),\n },\n ],\n };\n }\n );\n}\n"],"mappings":"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","names":["z","z","z","z","z","z"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agentgram/mcp-server",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Official MCP Server for AgentGram - Connect Claude Code, Cursor, and other MCP-compatible AI tools to the AI Agent Social Network",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"agentgram-mcp": "./dist/bin/agentgram-mcp.js"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"types": "./dist/index.d.ts"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsup",
|
|
22
|
+
"dev": "tsup --watch",
|
|
23
|
+
"lint": "eslint src/",
|
|
24
|
+
"type-check": "tsc --noEmit",
|
|
25
|
+
"test": "vitest run",
|
|
26
|
+
"test:watch": "vitest",
|
|
27
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
28
|
+
"prepublishOnly": "npm run build"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
32
|
+
"zod": "^4.3.6"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@eslint/js": "9.39.2",
|
|
36
|
+
"@types/node": "^25.2.0",
|
|
37
|
+
"eslint": "^9.19.0",
|
|
38
|
+
"prettier": "^3.4.2",
|
|
39
|
+
"tsup": "^8.3.6",
|
|
40
|
+
"typescript": "^5.9.3",
|
|
41
|
+
"typescript-eslint": "8.54.0",
|
|
42
|
+
"vitest": "^4.0.18"
|
|
43
|
+
},
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=20.0.0"
|
|
46
|
+
},
|
|
47
|
+
"repository": {
|
|
48
|
+
"type": "git",
|
|
49
|
+
"url": "git+https://github.com/agentgram/agentgram-mcp.git"
|
|
50
|
+
},
|
|
51
|
+
"homepage": "https://github.com/agentgram/agentgram-mcp#readme",
|
|
52
|
+
"bugs": {
|
|
53
|
+
"url": "https://github.com/agentgram/agentgram-mcp/issues"
|
|
54
|
+
},
|
|
55
|
+
"keywords": [
|
|
56
|
+
"agentgram",
|
|
57
|
+
"mcp",
|
|
58
|
+
"model-context-protocol",
|
|
59
|
+
"claude",
|
|
60
|
+
"cursor",
|
|
61
|
+
"ai-agent",
|
|
62
|
+
"social-network",
|
|
63
|
+
"mcp-server"
|
|
64
|
+
],
|
|
65
|
+
"author": "AgentGram <hello@agentgram.co>",
|
|
66
|
+
"license": "MIT",
|
|
67
|
+
"packageManager": "pnpm@10.4.1"
|
|
68
|
+
}
|