logr
Query any public logr profile — timelines, events, full context — plus owner-authorized writes.
Should I use this
Quality & Safety
Findings (2)
- LOWin get_profile
- LOWin get_event
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcp": {
"url": "https://logr.it/mcp"
}
}
}Remote endpoints
https://logr.it/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢find_profiles(query, limit)
Search public logr profiles by name, handle, bio, or location. Returns handles to use with the other tools.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Name, handle, or free-text match"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"profiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"username": {
"type": "string"
},
"name": {
"type": "string"
},
"bio": {
"type": "string"
},
"location": {
"type": "string"
},
"unverified": {
"type": "boolean"
},
"url": {
"type": "string"
}
},
"required": [
"username",
"name",
"bio",
"location",
"unverified",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"profiles"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_profile(username)
A profile's identity card: who they are, what they're doing now, socials, and timeline stats.
Input Schema
{
"type": "object",
"properties": {
"username": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The profile's @handle (its URL slug), e.g. \"koshik\""
}
},
"required": [
"username"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"username": {
"type": "string"
},
"name": {
"type": "string"
},
"bio": {
"type": "string"
},
"currently": {
"type": "string"
},
"location": {
"type": "string"
},
"about": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"avatarUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"socials": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"label",
"href"
],
"additionalProperties": false
}
},
"unverified": {
"type": "boolean",
"description": "true when auto-generated and not claimed by its subject"
},
"disclosure": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"eventCount": {
"type": "number"
},
"years": {
"anyOf": [
{
"type": "object",
"properties": {
"first": {
"type": "number"
},
"last": {
"type": "number"
}
},
"required": [
"first",
"last"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"updatedAt": {
"type": "string"
},
"urls": {
"type": "object",
"properties": {
"profile": {
"type": "string"
},
"context": {
"type": "string"
}
},
"required": [
"profile",
"context"
],
"additionalProperties": false
}
},
"required": [
"username",
"name",
"bio",
"currently",
"location",
"about",
"avatarUrl",
"socials",
"unverified",
"disclosure",
"eventCount",
"years",
"updatedAt",
"urls"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_timeline(username, tag, year, featured, pinned, ...)
A profile's timeline events, newest first, optionally filtered by tag, year, featured, or pinned.
Input Schema
{
"type": "object",
"properties": {
"username": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The profile's @handle (its URL slug), e.g. \"koshik\""
},
"tag": {
"description": "Event tag: work | milestone | talk | side_quest | writing",
"type": "string"
},
"year": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"featured": {
"description": "Only events marked as highlights",
"type": "boolean"
},
"pinned": {
"description": "Only events the owner pinned",
"type": "boolean"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"username"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"username": {
"type": "string"
},
"total": {
"type": "number",
"description": "Matches before limit/offset"
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"date": {
"type": "string",
"description": "ISO date (YYYY-MM-DD)"
},
"displayDate": {
"type": "string"
},
"year": {
"type": "number"
},
"title": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"featured": {
"type": "boolean"
},
"pinned": {
"type": "boolean"
},
"body": {
"type": "string"
},
"link": {
"anyOf": [
{
"type": "object",
"properties": {
"label": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"label",
"href"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"sourceUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Citation URL for seeded events"
},
"mediaCount": {
"type": "number"
}
},
"required": [
"id",
"date",
"displayDate",
"year",
"title",
"tags",
"featured",
"pinned",
"body",
"link",
"sourceUrl",
"mediaCount"
],
"additionalProperties": false
}
}
},
"required": [
"username",
"total",
"events"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_event(username, id)
One timeline event in full, including its media (image/video/link URLs).
Input Schema
{
"type": "object",
"properties": {
"username": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The profile's @handle (its URL slug), e.g. \"koshik\""
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"required": [
"username",
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"date": {
"type": "string",
"description": "ISO date (YYYY-MM-DD)"
},
"displayDate": {
"type": "string"
},
"year": {
"type": "number"
},
"title": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"featured": {
"type": "boolean"
},
"pinned": {
"type": "boolean"
},
"body": {
"type": "string"
},
"link": {
"anyOf": [
{
"type": "object",
"properties": {
"label": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"label",
"href"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"sourceUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Citation URL for seeded events"
},
"mediaCount": {
"type": "number"
},
"media": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"url": {
"type": "string"
},
"poster": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"provider": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"url",
"poster",
"provider",
"title"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"date",
"displayDate",
"year",
"title",
"tags",
"featured",
"pinned",
"body",
"link",
"sourceUrl",
"mediaCount",
"media"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_events(username, query, limit)
Keyword search over a profile's timeline (title, body, tags). All terms must match. Plain text matching — no semantic search.
Input Schema
{
"type": "object",
"properties": {
"username": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The profile's @handle (its URL slug), e.g. \"koshik\""
},
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"username",
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"username": {
"type": "string"
},
"total": {
"type": "number"
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"date": {
"type": "string",
"description": "ISO date (YYYY-MM-DD)"
},
"displayDate": {
"type": "string"
},
"year": {
"type": "number"
},
"title": {
"type": "string"
},
"tags": {
"type": "array",
"items": {
"type": "string"
}
},
"featured": {
"type": "boolean"
},
"pinned": {
"type": "boolean"
},
"body": {
"type": "string"
},
"link": {
"anyOf": [
{
"type": "object",
"properties": {
"label": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"label",
"href"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"sourceUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Citation URL for seeded events"
},
"mediaCount": {
"type": "number"
}
},
"required": [
"id",
"date",
"displayDate",
"year",
"title",
"tags",
"featured",
"pinned",
"body",
"link",
"sourceUrl",
"mediaCount"
],
"additionalProperties": false
}
}
},
"required": [
"username",
"total",
"events"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_context(username)
The complete Markdown context for a profile — identity, about, and full timeline with sources. Same content as the logr://profiles/{username} resource, for clients that prefer tools.
Input Schema
{
"type": "object",
"properties": {
"username": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"description": "The profile's @handle (its URL slug), e.g. \"koshik\""
}
},
"required": [
"username"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Recommended Prompts
find_profilesfind_profilesget_profileget_profilefind_profilesget_profileCommunity
Evidence