Skip to main content
Glama
Friday MCP Server

Friday MCP Server

Friday MCP Server

Successor MCP server for Friday, built on the same FastMCP pattern but organized as a standalone package with a self-extension workflow.

What it provides

  • Core MCP server with FastMCP entrypoints and reusable registration modules.

  • Research tools for web search, URL fetch, and live world-news summaries.

  • Workspace tools for reading, writing, listing, and executing commands inside a configured workspace root.

  • Self-extension tools that let Friday validate, install, activate, deactivate, remove, and roll back skills.

  • Prompt and resource surfaces so clients can inspect the active skill catalog and get templates for researching or authoring new skills.

Related MCP server: local-skills-mcp

Skill model

Skills are markdown documents with YAML front matter stored under skills/installed/.

  • They are data-driven prompt assets, not arbitrary Python plugins.

  • New skills can be created from generated markdown or downloaded from a URL.

  • Successful installs are activated automatically by default.

  • Reinstalling an existing skill creates a timestamped backup for rollback.

  • Each installed skill records provenance, compatibility, checksum, and activation state.

Example:

---
id: web-research
name: Web Research
version: 1.0.0
description: Gather and compare information from multiple current sources.
capabilities:
  - search
  - citation
min_server_version: 0.1.0
---
Use web search to gather multiple sources before drawing conclusions.
Prefer primary or official sources when possible.

Quick start

uv sync --extra dev
cp .env.example .env
uv run friday-mcp-server

By default the server runs over stdio. To run over SSE instead:

FRIDAY_MCP_TRANSPORT=sse uv run friday-mcp-server

Friday integration

Point a Friday MCP client at this server's transport:

  • stdio clients: invoke uv run friday-mcp-server

  • SSE clients: run with FRIDAY_MCP_TRANSPORT=sse and connect to /sse

The server exposes:

  • fetch_url, search_web, get_world_news

  • list_workspace, read_file, write_file, run_bash

  • list_skills, get_skill, validate_skill_markdown

  • install_skill_from_markdown, install_skill_from_url

  • activate_skill, deactivate_skill, remove_skill, rollback_skill

  • get_current_time, get_system_info, format_json, word_count

Repository layout

src/friday_mcp_server/
  config.py
  server.py
  skill_store.py
  prompts/
  resources/
  tools/
skills/
  installed/
tests/

Development

uv run pytest

Available Tools

21 tools
activate_skillC

Activate an installed skill.

Inputs: skill_id (required).

deactivate_skillC

Deactivate an installed skill.

Inputs: skill_id (required).

explain_skill_errorD

Normalize skill validation failures for the client.

Inputs: error_text (required). Returns: result

fetch_urlB

Fetch the raw text of a URL, truncated to the configured limit.

Inputs: url (required). Returns: result

format_jsonB

Pretty-print a JSON string.

Inputs: data (required). Returns: result

get_current_timeA

Return the current date and time in ISO 8601 format.

Inputs: no named parameters. Returns: result

get_skillC

Get the full installed content and metadata for a skill.

Inputs: skill_id (required).

get_system_infoB

Return basic information about the server host.

Inputs: no named parameters.

get_world_newsA

Fetch a multi-source snapshot of world headlines.

Inputs: no named parameters. Returns: result

install_skill_from_markdownC

Install a skill from markdown front matter and instructions.

Inputs: markdown (required), source, activate.

install_skill_from_urlB

Download, validate, install, and optionally activate a skill from a URL.

Inputs: url (required), activate.

list_skillsC

List installed skills and their activation state.

Inputs: active_only. Returns: result

list_workspaceB

List files and directories under the configured workspace root.

Inputs: path, max_depth. Returns: result

read_fileC

Read a file from the workspace with optional line slicing.

Inputs: path (required), start_line, end_line. Returns: result

remove_skillB

Remove a skill and keep a rollback backup.

Inputs: skill_id (required).

rollback_skillC

Restore the latest or selected backup of a skill.

Inputs: skill_id (required), backup_file.

run_bashC

Run a bash command within the workspace root.

Inputs: command (required), timeout, working_dir.

search_webB

Search the web with DuckDuckGo and return the top results.

Inputs: query (required), max_results. Returns: result

validate_skill_markdownC

Validate a candidate skill document before installation.

Inputs: markdown (required).

word_countA

Count characters, words, and lines in a block of text.

Inputs: text (required).

write_fileC

Write a file within the workspace.

Inputs: path (required), content (required), overwrite.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 21 tools

    Disambiguation4/5

    Tools are grouped into clear categories (skill management, workspace, utilities) with distinct purposes. Only minor potential overlap between search_web and get_world_news (both fetch external info) but descriptions differentiate them.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with underscores, e.g., activate_skill, fetch_url, get_current_time. Verbs are descriptive and noun targets are clear, making the set predictable.

    Tool Count4/5

    21 tools is slightly above typical range (3-15) but each tool serves a well-defined purpose and covers a broad domain (skills, workspace, utilities) without redundancy. Could be trimmed slightly but still reasonable.

    Completeness4/5

    The tool set covers essential skill lifecycle (install, activate, deactivate, remove, rollback) and workspace operations (read/write/list). Minor gaps like direct skill content update are missing, but rollback and reinstall compensate. Utility tools add breadth.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers