Skip to main content
Glama

MCP Chat

by rayenamer
  • Linux
  • Apple
mcp_server.py3.08 kB
from mcp.server.fastmcp import FastMCP mcp = FastMCP("DocumentMCP", log_level="ERROR") docs = { "deposition.md": "This deposition covers the testimony of Angela Smith, P.E.", "report.pdf": "The report details the state of a 20m condenser tower.", "financials.docx": "These financials outline the project's budget and expenditures.", "outlook.pdf": "This document presents the projected future performance of the system.", "plan.md": "The plan outlines the steps for the project's implementation.", "spec.txt": "These specifications define the technical requirements for the equipment.", } # TODO: Write a tool to read a doc # TODO: Write a tool to edit a doc # TODO: Write a resource to return all doc id's # TODO: Write a resource to return the contents of a particular doc # TODO: Write a prompt to rewrite a doc in markdown format # TODO: Write a prompt to summarize a doc from pydantic import Field from mcp.server.fastmcp.prompts import base @mcp.tool( name="read_doc_contents", description="Read the contents of a document and return it as a string.", ) def read_document( doc_id: str = Field(description="Id of the document to read"), ): if doc_id not in docs: raise ValueError(f"Doc with id {doc_id} not found") return docs[doc_id] @mcp.tool( name="edit_document", description="Edit a document by replacing a string in the documents content with a new string", ) def edit_document( doc_id: str = Field(description="Id of the document that will be edited"), old_str: str = Field( description="The text to replace. Must match exactly, including whitespace" ), new_str: str = Field( description="The new text to insert in place of the old text" ), ): if doc_id not in docs: raise ValueError(f"Doc with id {doc_id} not found") docs[doc_id] = docs[doc_id].replace(old_str, new_str) @mcp.resource("docs://documents", mime_type="application/json") def list_docs() -> list[str]: return list(docs.keys()) @mcp.resource("docs://documents/{doc_id}", mime_type="text/plain") def fetch_doc(doc_id: str) -> str: if doc_id not in docs: raise ValueError(f"Doc with id {doc_id} not found") return docs[doc_id] @mcp.prompt( name="format", description="Rewrites the contents of the document in Markdown format.", ) def format_document( doc_id: str = Field(description="Id of the document to format"), ) -> list[base.Message]: prompt = f""" Your goal is to reformat a document to be written with markdown syntax. The id of the document you need to reformat is: <document_id> {doc_id} </document_id> Add in headers, bullet points, tables, etc as necessary. Feel free to add in extra text, but don't change the meaning of the report. Use the 'edit_document' tool to edit the document. After the document has been edited, respond with the final version of the doc. Don't explain your changes. """ return [base.UserMessage(prompt)] if __name__ == "__main__": mcp.run(transport="stdio")

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rayenamer/MCP_Intro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server