@furkankoykiran/coderlegion-mcp
README.md
# @furkankoykiran/coderlegion-mcp
[](https://github.com/furkankoykiran/coderlegion-mcp/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/@furkankoykiran/coderlegion-mcp)
[](https://github.com/furkankoykiran/coderlegion-mcp/pkgs/npm/coderlegion-mcp)
[](LICENSE)
[](package.json)
TypeScript MCP server for CoderLegion — connect AI agents (Claude, Cursor, Cline) to the developer community platform.
Built with the official [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk), it exposes **13 tools** covering post management, profile editing, content search, and social interactions — all accessible from any MCP-compatible client.
---
## Features
| Category | Tools |
|---|---|
| **Posts** | `create_post`, `edit_post`, `delete_post`, `get_post`, `list_posts`, `add_comment` |
| **Profile** | `get_profile`, `edit_profile` |
| **Search** | `search_posts`, `browse_tag`, `get_categories` |
| **Social** | `react_to_post`, `get_notifications`, `get_activity_feed` |
---
## Prerequisites
1. **Node.js 20+** (`node --version`)
2. A **CoderLegion account** with valid session cookies
---
## Installation
### Option 1 — Run directly with npx (no install required)
```bash
CODERLEGION_PHPSESSID=xxx CODERLEGION_QA_SESSION=xxx npx @furkankoykiran/coderlegion-mcp
```
### Option 2 — Install globally from npm
```bash
npm install -g @furkankoykiran/coderlegion-mcp
CODERLEGION_PHPSESSID=xxx CODERLEGION_QA_SESSION=xxx coderlegion-mcp
```
### Option 3 — Install from GitHub Packages
```bash
npm install -g @furkankoykiran/coderlegion-mcp --registry=https://npm.pkg.github.com
CODERLEGION_PHPSESSID=xxx CODERLEGION_QA_SESSION=xxx coderlegion-mcp
```
### Option 4 — Build from source
```bash
git clone https://github.com/furkankoykiran/coderlegion-mcp.git
cd coderlegion-mcp
npm install
npm run build
node build/index.js
```
---
## Configuration
The server is configured entirely via environment variables — no config file needed.
| Variable | Default | Description |
|---|---|---|
| `CODERLEGION_PHPSESSID` | *(empty)* | PHP session ID — **required** |
| `CODERLEGION_QA_SESSION` | *(empty)* | Q2A session cookie — **required** |
| `CODERLEGION_QA_NOTICED` | `1` | Notice acknowledgement cookie |
### Getting your cookies
1. Log in to [coderlegion.com](https://coderlegion.com) in your browser
2. Open **Developer Tools** (F12) > **Application** > **Cookies** > `https://coderlegion.com`
3. Copy the values for `PHPSESSID` and `qa_session`
---
## MCP Client Setup
### Claude Desktop
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"coderlegion": {
"command": "npx",
"args": ["-y", "@furkankoykiran/coderlegion-mcp"],
"env": {
"CODERLEGION_PHPSESSID": "your-php-session-id",
"CODERLEGION_QA_SESSION": "your-qa-session-value"
}
}
}
}
```
### VS Code (Cline / Continue)
Add to your MCP server settings:
```json
{
"coderlegion": {
"command": "npx",
"args": ["-y", "@furkankoykiran/coderlegion-mcp"],
"env": {
"CODERLEGION_PHPSESSID": "your-php-session-id",
"CODERLEGION_QA_SESSION": "your-qa-session-value"
}
}
}
```
### Built from source
```json
{
"coderlegion": {
"command": "node",
"args": ["/absolute/path/to/coderlegion-mcp/build/index.js"],
"env": {
"CODERLEGION_PHPSESSID": "your-php-session-id",
"CODERLEGION_QA_SESSION": "your-qa-session-value"
}
}
}
```
### Claude Code (CLI)
```bash
claude mcp add -s user coderlegion \
-e CODERLEGION_PHPSESSID=your-php-session-id \
-e CODERLEGION_QA_SESSION=your-qa-session-value \
-- npx -y @furkankoykiran/coderlegion-mcp
```
---
## Available Tools
### Posts
#### `create_post`
Create a new post on CoderLegion. Supports Articles, Tutorials, Launches, and Videos with Markdown content, scheduling, and category-specific fields.
> **Note:** CoderLegion enforces a maximum of **4 tags** per post.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `title` | string | Yes | Post title |
| `content` | string | Yes | Post content in Markdown |
| `tags` | string | Yes | Comma-separated tags, max 4 (e.g. `python,automation,mcp`) |
| `category` | enum | Yes | `2` Articles, `5` Tutorials, `1971` Launches, `2005` Videos |
| `draft` | boolean | No | Save as draft (default: false) |
| `schedule_time` | string | No | Publish time: `YYYY-MM-DDThh:mm` |
| `schedule_utc` | string | No | Timezone offset in minutes for scheduling |
| `source_url` | string | No | Source URL for attribution |
| `os_type` | enum | No | `Project` or `Product` (Launches only) |
| `os_tagline` | string | No | Short tagline (Launches only) |
| `repo_url` | string | No | Repository URL (Launches only) |
| `web_url` | string | No | Website/demo URL (Launches only) |
| `os_status` | enum | No | `Active`, `Development`, `Experimental`, `Archived`, `None` (Launches only) |
| `os_license` | enum | No | `1` MIT, `2` Apache 2.0, `3` GPL v3, `4` BSD, `5` Other (Launches only) |
| `os_availability` | enum | No | `Free`, `Paid`, `Trial`, `None` (Launches only) |
| `vdo_type` | string | No | Video type e.g. `Tutorials`, `Product Demos` (Videos only) |
| `vdo_url` | string | No | Video URL e.g. YouTube link (Videos only) |
#### `edit_post`
Edit an existing post's title, content, tags, or category. Only the fields you provide are changed; everything else remains as-is.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `id` | string | Yes | Post ID (numeric) |
| `slug` | string | Yes | Post URL slug |
| `title` | string | No | New title |
| `content` | string | No | New Markdown content |
| `tags` | string | No | New comma-separated tags |
| `category` | enum | No | New category ID |
#### `delete_post`
Hide (soft-delete) a post. The post becomes invisible to other users but is not permanently removed.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `id` | string | Yes | Post ID (numeric) |
| `slug` | string | Yes | Post URL slug |
#### `get_post`
Retrieve a post's title, content snippet, tags, and author information.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `id` | string | Yes | Post ID (numeric) |
| `slug` | string | Yes | Post URL slug |
#### `list_posts`
Retrieve all posts by a specific CoderLegion user.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `username` | string | Yes | CoderLegion username |
#### `add_comment`
Add a Markdown comment to a post thread.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `id` | string | Yes | Post ID (numeric) |
| `slug` | string | Yes | Post URL slug |
| `content` | string | Yes | Comment text in Markdown |
| `comment_id` | string | Yes | Comment thread ID (from the post page) |
---
### Profile
#### `get_profile`
Get the authenticated user's CoderLegion profile information — name, tagline, location, website, about, skills, interests, achievements, fun fact, and quote. No parameters required.
#### `edit_profile`
Edit the authenticated user's profile. Only the fields you provide are updated; others remain unchanged.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `name` | string | No | Full display name |
| `tagline` | string | No | Short tagline/headline shown under the name |
| `about` | string | No | About/bio section |
| `location` | string | No | Location (e.g. `Istanbul, Türkiye`) |
| `website` | string | No | Personal website URL |
| `skills` | string | No | Skills description |
| `interests` | string | No | Interests description |
| `achievements` | string | No | Achievements description |
| `fun_fact` | string | No | Fun fact about you |
| `quote` | string | No | Favorite quote |
---
### Search
#### `search_posts`
Full-text search across all CoderLegion posts.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `query` | string | Yes | Search query |
#### `browse_tag`
Browse posts filtered by a specific tag.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `tag` | string | Yes | Tag name (e.g. `python`, `javascript`) |
#### `get_categories`
Retrieve all post categories with their IDs and descriptions. No parameters required.
---
### Social
#### `react_to_post`
React to a post with a like or love. Calling again on the same post toggles the reaction off.
| Parameter | Type | Required | Description |
|---|---|---|---|
| `post_id` | string | Yes | Post ID to react to |
| `type` | enum | Yes | `like` or `love` |
#### `get_notifications`
Retrieve your notification feed (comments, reactions, follows). No parameters required.
#### `get_activity_feed`
Retrieve the social activity feed from followed users. No parameters required.
---
## Development
```bash
# Clone and install
git clone https://github.com/furkankoykiran/coderlegion-mcp.git
cd coderlegion-mcp
npm install
# Run in development mode (auto-reloads on change)
npm run dev
# Type-check
npm run typecheck
# Build for production
npm run build
```
### Testing with MCP Inspector
```bash
npx @modelcontextprotocol/inspector node build/index.js
```
Set the environment variables in the Inspector UI and verify all 13 tools are listed.
---
## Contributing
Contributions are welcome. Please read the [contributing guidelines](.github/PULL_REQUEST_TEMPLATE.md) and open an issue before submitting a pull request for significant changes.
---
## License
MIT — see [LICENSE](LICENSE).
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessUnresponsive