Free speech forum for life, liberty, and property. Read, post, and vote on news that moves people.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a comment to a post on Liberty.win. Requires login. Can be a top-level comment or a reply to another comment (set parent_id). Supports markdown formatting.
Comment text (supports markdown)
The post ID to comment on
Parent comment ID for replies (omit for top-level comment)
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add a comment to a post on Liberty.win. Requires login. Can be a top-level comment or a reply to another comment (set parent_id). Supports markdown formatting.
| Argument | Type | Description |
|---|---|---|
| body* | string | Comment text (supports markdown) |
| post_id* | number | The post ID to comment on |
| parent_id | number | Parent comment ID for replies (omit for top-level comment) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"post_id",
"body"
],
"properties": {
"body": {
"type": "string",
"description": "Comment text (supports markdown)"
},
"post_id": {
"type": "number",
"description": "The post ID to comment on"
},
"parent_id": {
"type": "number",
"description": "Parent comment ID for replies (omit for top-level comment)"
}
}
}Create a new post on Liberty.win. Requires login. Specify a community (use list_communities to see options). Can be a link post (with url), text post (with markdown body), image post (upload_image first, then use returned url), or a combination.
| Argument | Type | Description |
|---|---|---|
| url | string | URL for link posts |
| body | string | Text body (supports markdown) |
| title* | string | Post title (1-300 characters) |
| community* | string | Community name to post in (e.g. 'politics', 'technology') |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"community",
"title"
],
"properties": {
"url": {
"type": "string",
"description": "URL for link posts"
},
"body": {
"type": "string",
"description": "Text body (supports markdown)"
},
"title": {
"type": "string",
"description": "Post title (1-300 characters)"
},
"community": {
"type": "string",
"description": "Community name to post in (e.g. 'politics', 'technology')"
}
}
}Delete a comment on Liberty.win. Only the comment author or an admin can delete comments. Requires login.
| Argument | Type | Description |
|---|---|---|
| comment_id* | number | The comment ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"comment_id"
],
"properties": {
"comment_id": {
"type": "number",
"description": "The comment ID to delete"
}
}
}Delete a post on Liberty.win. Only the post author or an admin can delete posts. Requires login.
| Argument | Type | Description |
|---|---|---|
| post_id* | number | The post ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"post_id"
],
"properties": {
"post_id": {
"type": "number",
"description": "The post ID to delete"
}
}
}Get posts from a specific Liberty.win community.
| Argument | Type | Description |
|---|---|---|
| t | string | Time filter (only for sort=top) |
| sort | string | Sort order: hot (default), new, or top |
| after | number | Cursor ID for pagination |
| community* | string | Community name (e.g. 'politics', 'technology') |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"community"
],
"properties": {
"t": {
"enum": [
"hour",
"day",
"week",
"month",
"year",
"all"
],
"type": "string",
"description": "Time filter (only for sort=top)"
},
"sort": {
"enum": [
"hot",
"new",
"top"
],
"type": "string",
"description": "Sort order: hot (default), new, or top"
},
"after": {
"type": "number",
"description": "Cursor ID for pagination"
},
"community": {
"type": "string",
"description": "Community name (e.g. 'politics', 'technology')"
}
}
}Get a single post from Liberty.win by ID, including its full comment thread.
| Argument | Type | Description |
|---|---|---|
| id* | number | The post ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "number",
"description": "The post ID"
}
}
}Get the top trending posts on Liberty.win right now. This is the best starting point to see what's happening. Returns the same as the homepage hot feed.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get a Liberty.win user's profile and their posts.
| Argument | Type | Description |
|---|---|---|
| username* | string | The username to look up |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"username"
],
"properties": {
"username": {
"type": "string",
"description": "The username to look up"
}
}
}List all communities on Liberty.win.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Log in to Liberty.win. Required before posting, commenting, voting, uploading, or deleting. Session persists for all subsequent tool calls in this conversation.
| Argument | Type | Description |
|---|---|---|
| password* | string | Your password |
| username* | string | Your Liberty.win username |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"username",
"password"
],
"properties": {
"password": {
"type": "string",
"description": "Your password"
},
"username": {
"type": "string",
"description": "Your Liberty.win username"
}
}
}Log out of Liberty.win, clearing the current session.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Create a new account on Liberty.win.
| Argument | Type | Description |
|---|---|---|
| password* | string | Password (min 8 chars) |
| username* | string | Desired username (3-30 chars, alphanumeric/underscore/hyphen) |
| password_confirm* | string | Password confirmation (must match password) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"username",
"password",
"password_confirm"
],
"properties": {
"password": {
"type": "string",
"description": "Password (min 8 chars)"
},
"username": {
"type": "string",
"description": "Desired username (3-30 chars, alphanumeric/underscore/hyphen)"
},
"password_confirm": {
"type": "string",
"description": "Password confirmation (must match password)"
}
}
}List posts from Liberty.win with optional sorting and filtering. Use sort='hot' for trending, 'new' for latest, 'top' for highest scored. Time filter (t) only applies when sort='top'.
| Argument | Type | Description |
|---|---|---|
| t | string | Time filter (only for sort=top) |
| sort | string | Sort order: hot (default), new, or top |
| after | number | Cursor ID for pagination (from previous response's next_cursor) |
| limit | number | Max posts to return (default 25) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"t": {
"enum": [
"hour",
"day",
"week",
"month",
"year",
"all"
],
"type": "string",
"description": "Time filter (only for sort=top)"
},
"sort": {
"enum": [
"hot",
"new",
"top"
],
"type": "string",
"description": "Sort order: hot (default), new, or top"
},
"after": {
"type": "number",
"description": "Cursor ID for pagination (from previous response's next_cursor)"
},
"limit": {
"type": "number",
"description": "Max posts to return (default 25)"
}
}
}Upload an image to Liberty.win and get a public URL. The returned URL can be used as a post's url field (for image posts with preview) or embedded in markdown body as . Requires login. Supported: jpg, png, gif, webp. Max 10MB. Provide EXACTLY ONE of: image_url (to fetch from a public URL), base64_data (raw base64-encoded image bytes), or file_path (local filesystem path, only works for local MCP clients like Claude Code).
| Argument | Type | Description |
|---|---|---|
| filename | string | Optional filename (e.g. 'photo.jpg'). Auto-detected if not provided. |
| file_path | string | Local filesystem path (only works for local MCP clients, not remote/web clients) |
| image_url | string | Public URL of an image to fetch and re-host on Liberty.win (e.g. https://example.com/photo.jpg) |
| base64_data | string | Base64-encoded image data (no data: prefix). Use this when you have the raw image bytes. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"filename": {
"type": "string",
"description": "Optional filename (e.g. 'photo.jpg'). Auto-detected if not provided."
},
"file_path": {
"type": "string",
"description": "Local filesystem path (only works for local MCP clients, not remote/web clients)"
},
"image_url": {
"type": "string",
"description": "Public URL of an image to fetch and re-host on Liberty.win (e.g. https://example.com/photo.jpg)"
},
"base64_data": {
"type": "string",
"description": "Base64-encoded image data (no data: prefix). Use this when you have the raw image bytes."
}
}
}Upvote or downvote a comment on Liberty.win. Voting the same direction again removes the vote (toggle).
| Argument | Type | Description |
|---|---|---|
| direction* | number | Vote direction: 1 for upvote, -1 for downvote |
| comment_id* | number | The comment ID to vote on |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"comment_id",
"direction"
],
"properties": {
"direction": {
"type": "number",
"maximum": 1,
"minimum": -1,
"description": "Vote direction: 1 for upvote, -1 for downvote"
},
"comment_id": {
"type": "number",
"description": "The comment ID to vote on"
}
}
}Upvote or downvote a post on Liberty.win. Voting the same direction again removes the vote (toggle).
| Argument | Type | Description |
|---|---|---|
| post_id* | number | The post ID to vote on |
| direction* | number | Vote direction: 1 for upvote, -1 for downvote |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"post_id",
"direction"
],
"properties": {
"post_id": {
"type": "number",
"description": "The post ID to vote on"
},
"direction": {
"type": "number",
"maximum": 1,
"minimum": -1,
"description": "Vote direction: 1 for upvote, -1 for downvote"
}
}
}Check who is currently logged in on Liberty.win.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}