trollspace-mcp
Manages Trollspace data through MCP tools.
Create, list, get, update, and delete snippets, nuggets, todo lists, ideas, software tools, repos, travel locations, subscriptions, and payments.
Import software tools from URLs and GitHub repos (GitHub import requires integration).
Browse read-only country and city reference data for travel.
Filter lists by fields such as status, category, usage type, billing cycle, dates, source, and subscription.
Manage subscription payments: mark paid, backfill historical records, and list payments across subscriptions.
Send natural-language requests to the Trollspace agent.
Enables importing GitHub repositories by URL into the Trollspace repo catalog, automatically fetching repository metadata, stars, primary language, topics, and README content (requires a connected GitHub integration).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@trollspace-mcp List my code snippets"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
trollspace-mcp
MCP server for the Trollspace API — exposes 47 type-safe tools for managing snippets, nuggets, todos, ideas, tools, repos, travel, subscriptions, and more.
Built with the Model Context Protocol SDK, openapi-fetch, and TypeScript types auto-generated from the OpenAPI spec.
Setup
Prerequisites
Node.js >= 18
A Trollspace API key
Install & Build
npm install
npm run buildConfiguration
Set your API key as an environment variable:
export TROLLSPACE_API_KEY="troll_usr_your_key_here"
# Household box: no raw key; run through Agent Vault with scripts/run-via-vault.sh (HIVE-1433)Usage with Claude Desktop
Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"trollspace": {
"command": "node",
"args": ["/path/to/troll-mcp/dist/index.js"],
"env": {
"TROLLSPACE_API_KEY": "troll_usr_your_key_here"
}
}
}
}Usage with Claude Code
Add to your Claude Code MCP settings:
claude mcp add trollspace -- node /path/to/troll-mcp/dist/index.jsSet the API key in your environment or pass it via the env config.
Related MCP server: ts-mcp-meta
Tools
Snippets
Code snippets and quick references.
Tool | Description |
| List all code snippets |
| Get a snippet by ID |
| Create a new snippet (name, description, code, language, tags) |
| Update an existing snippet |
| Delete a snippet |
Nuggets
Knowledge notes and insights.
Tool | Description |
| List all nuggets |
| Get a nugget by ID |
| Create a new nugget (name, description, content) |
| Update an existing nugget |
| Delete a nugget |
Todos
Task management lists.
Tool | Description |
| List all todo lists |
| Get a todo list by ID |
| Create a new todo list (name, description, content) |
| Update an existing todo list |
| Delete a todo list |
Ideas
Project and content ideas.
Tool | Description |
| List all ideas |
| Get an idea by ID |
| Create a new idea (name, content) |
| Update an existing idea |
| Delete an idea |
Tools
Software tools and resources catalog.
Tool | Description |
| List all software tools |
| Get a tool by ID |
| Create a new tool entry (name, url, category, description, rating) |
| Update an existing tool entry |
| Delete a tool entry |
Repos
Git repositories and projects.
Tool | Description |
| List all repositories |
| Get a repo by ID |
| Create a new repo entry (title, summary, description_md, repo_url, source_type) |
| Update an existing repo entry |
| Delete a repo entry |
Travel
Travel locations and experiences.
Tool | Description |
| List travel locations (filter by status, location_type) |
| Get a travel location by ID |
| Add a travel location (location_id, location_type, status, dates, notes) |
| Update a travel location |
| Remove a travel location |
Countries & Cities
Read-only reference data for use with travel tools.
Tool | Description |
| List countries (search by name, filter by continent) |
| Get a country by ID |
| List cities (search by name, filter by country_id) |
| Get a city by ID |
Subscriptions
Recurring subscription management.
Tool | Description |
| List subscriptions (filter by status, category, usage_type, billing_cycle) |
| Get a subscription by ID |
| Create a subscription (name, amount, currency, billing_cycle, usage_type) |
| Update a subscription |
| Delete a subscription (payment history preserved) |
| Record a payment and advance the next billing date |
| Generate historical payment records for past periods |
| List payments for a specific subscription |
Subscription Payments
Payment records across all subscriptions.
Tool | Description |
| List all payments (filter by subscription, status, usage_type, source, date range) |
| Get a payment by ID |
| Create a payment record |
| Update a payment record |
| Delete a payment record |
Agent
Tool | Description |
| Send a natural language request to the Trollspace agent |
Development
Regenerate API types
If the OpenAPI spec changes, regenerate the TypeScript types:
npm run generate-typesProject structure
src/
client.ts # Type-safe API client (openapi-fetch + generated types)
index.ts # MCP server entry point with all tool definitions
types/api.d.ts # Auto-generated OpenAPI types (do not edit)License
ISC
Available Tools
55 toolsagent_queryA
Send a natural language request to the Trollspace agent for complex operations
Inputs: message (required).
backfill_subscriptionB
Generate historical payment records for past billing periods
Inputs: id (required), periods (required), amount (required), currency (required), +2 more.
create_ideaB
Create a new idea
Inputs: name (required), content (required).
create_nuggetC
Create a new knowledge nugget
Inputs: name (required), description (required), content (required).
create_paymentB
Manually create a payment record for a subscription
Inputs: subscription_id (required), payment_date (required), amount (required), currency (required), +3 more.
create_repoC
Create a new git repository entry
Inputs: title (required), source_type (required), summary, description_md, +1 more.
create_snippetC
Create a new code snippet
Inputs: name (required), description (required), code (required), language (required), +1 more.
create_subscriptionC
Create a new subscription
Inputs: name (required), amount (required), currency (required), billing_cycle (required), +6 more.
create_todoC
Create a new todo list
Inputs: name (required), description (required), content (required).
create_toolB
Create a new software tool entry
Inputs: name (required), url, category, description, +1 more.
create_travelA
Add a new travel location. Use list_countries or list_cities to find the location_id first.
Inputs: location_id (required), location_type (required), status (required), is_favorite (required), +3 more.
delete_ideaB
Delete an idea
Inputs: id (required).
delete_nuggetB
Delete a knowledge nugget
Inputs: id (required).
delete_paymentB
Permanently delete a payment record
Inputs: id (required).
delete_repoC
Delete a git repository entry
Inputs: id (required).
delete_snippetB
Delete a code snippet
Inputs: id (required).
delete_subscriptionB
Delete a subscription (payment history is preserved)
Inputs: id (required).
delete_todoB
Delete a todo list
Inputs: id (required).
delete_toolB
Delete a software tool entry
Inputs: id (required).
delete_travelC
Remove a travel location
Inputs: id (required).
get_cityC
Get a city by ID
Inputs: id (required).
get_countryC
Get a country by ID
Inputs: id (required).
get_ideaA
Get an idea by ID
Inputs: id (required).
get_nuggetA
Get a knowledge nugget by ID
Inputs: id (required).
get_paymentA
Get a subscription payment by ID
Inputs: id (required).
get_repoA
Get a git repository by ID
Inputs: id (required).
get_snippetA
Get a code snippet by ID
Inputs: id (required).
get_subscriptionB
Get a subscription by ID
Inputs: id (required).
get_todoB
Get a todo list by ID
Inputs: id (required).
get_toolA
Get a software tool by ID
Inputs: id (required).
get_travelB
Get a travel location by ID
Inputs: id (required).
import_repoA
Import a repository from GitHub by URL. Auto-fetches metadata, stars, language, topics, and README content. Requires GitHub integration to be connected.
Inputs: url (required), name, is_public.
import_toolB
Import a software tool from a URL. Auto-detects name and description from the webpage.
Inputs: url (required), name, description, category, +1 more.
list_all_paymentsA
List payment records across all subscriptions
Inputs: limit, subscription_id, status, usage_type, +3 more.
list_citiesC
List cities (reference data for travel)
Inputs: limit, search, country_id.
list_countriesB
List countries (reference data for travel)
Inputs: limit, search, continent.
list_ideasC
List all ideas
Inputs: limit.
list_nuggetsC
List all knowledge nuggets
Inputs: limit.
list_reposC
List all git repositories
Inputs: limit.
list_snippetsB
List all code snippets
Inputs: limit.
list_subscription_paymentsC
List payment records for a specific subscription
Inputs: id (required), limit.
list_subscriptionsC
List all subscriptions
Inputs: limit, status, category, usage_type, +1 more.
list_todosC
List all todo lists
Inputs: limit.
list_toolsB
List all software tools and resources
Inputs: limit.
list_travelC
List travel locations
Inputs: limit, status, location_type.
mark_subscription_paidB
Record a payment for the current billing period and advance the next billing date
Inputs: id (required).
update_ideaC
Update an existing idea
Inputs: id (required), name, content.
update_nuggetB
Update an existing knowledge nugget
Inputs: id (required), name, description, content.
update_paymentC
Update an existing payment record
Inputs: id (required), amount, currency, status, +2 more.
update_repoB
Update an existing git repository entry
Inputs: id (required), title, summary, description_md, +2 more.
update_snippetC
Update an existing code snippet
Inputs: id (required), name, description, code, +2 more.
update_subscriptionC
Update an existing subscription
Inputs: id (required), name, category, amount, +8 more.
update_todoC
Update an existing todo list
Inputs: id (required), name, description, content.
update_toolB
Update an existing software tool entry
Inputs: id (required), name, url, category, +2 more.
update_travelC
Update an existing travel location
Inputs: id (required), status, date_from, date_to, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 55 tools
Most tools target distinct resource-action pairs, but 'create_tool' vs 'import_tool' and 'list_all_payments' vs 'list_subscription_payments' have overlapping purposes. 'agent_query' is vague. Overall, still fairly distinct.
All tool names follow a consistent verb_noun pattern, with verbs like create, delete, get, list, update. Deviations like 'backfill_subscription' and 'import_tool' still fit the pattern. No mixed conventions.
55 tools is excessive for a single MCP server. The server aggregates many unrelated domains (ideas, repos, travel, payments, etc.), making it unwieldy for agents to navigate.
Each resource type has full CRUD operations, plus additional useful operations like imports and payment backfill. Minor gaps exist (e.g., no search across resources), but the set is fairly complete for the described domains.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Build your own tools from chat: design, test and host them on a shareable MCP server URL.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA minimal MCP server that auto-generates tools from your OpenAPI spec, optimized for Vercel.17 npm8MIT
- FlicenseNot gradedqualityDmaintenanceAggregates tools from multiple MCP servers, generates TypeScript definitions, and executes custom TypeScript scripts to orchestrate cross-server tool calls.-
- AlicenseNot gradedqualityDmaintenanceMCP server exposing Basecamp CLI commands as tools for project management, todos, messages, and more.MIT
- AlicenseBqualityDmaintenanceAn MCP server for the Trello REST API. Exposes ~36 curated tools for boards, lists, cards, checklists, labels, members, and search.368 npmMIT