# Writer — MCP server on mcp.ai > Connect your Writer account and use 23 tools for artificial intelligence straight from your AI agent. Connect with your own API key. Writer is a full-stack generative AI platform for enterprises, offering tools to build and deploy AI applications integrated with their suite of LLMs, graph-based RAG tools, and AI guardrails. By: mcp.ai · official Page: https://mcp.ai/writer ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_writer?ms=1787293500000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/writer/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/writer/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/writer/skill.md Postman collection (v2.1): https://mcp.ai/writer/postman.json ## Tools - writer_add_file_to_graph(file_id: string, graph_id: string) — Tool to add a file to a knowledge graph for indexing and retrieval. Use when you need to add an uploaded file to an existing knowledge graph for RAG applications. - writer_analyze_images(model: string, prompt: string, variables: object[]) — Tool to analyze images using Writer's vision capabilities. Use when you need image understanding, text extraction from images, or visual question answering. Images must be uploaded via POST /v1/files - writer_ask_question_to_knowledge_graph(context?: object[], question: string, graph_ids: string[]) — Tool to send a question to the knowledge graph and retrieve the answer. Use after defining your question and optional context. - writer_chat_completion(n?: integer, stop?: string|string[], model?: string, top_p?: number, stream?: boolean, messages: object[], max_tokens?: integer, temperature?: number, presence_penalty?: number, frequency_penalty?: number) — Tool to generate chat-based completions. Use when you need conversational AI responses; call after assembling system and user messages. - writer_create_knowledge_graph(name: string, description?: string) — Tool to create a new knowledge graph. Use when you need to create an empty graph that files can be added to. - writer_delete_file(file_id: string) — Tool to delete a file by its ID. Use when you need to permanently remove a file from Writer with no recovery option available. - writer_delete_graph(graph_id: string) — Tool to delete a knowledge graph by its ID. Use when you need to remove a graph after confirming its identifier. - writer_detect_ai_content(input: string) — Tool to detect whether content was generated by AI. Returns a classification label and confidence score indicating the likelihood of AI-generated content. Use when you need to verify content authentic - writer_download_file(file_id: string) — Tool to download the binary content of a file. Use when you need to retrieve file data from the Writer platform. The response contains the file in its original format. - writer_get_file(file_id: string) — Tool to retrieve detailed information about a specific file by its ID. Use when you need to check a file's metadata, processing status, or associated knowledge graphs. - writer_list_applications(after?: string, limit?: integer) — Tool to list all no-code agent applications. Use when you need to retrieve all registered applications. - writer_list_files(after?: string, limit?: integer, order?: string, before?: string, status?: string, graph_id?: string, file_types?: string) — Tool to list all uploaded files. Use when you need to retrieve a paginated set of user files, optionally filtered by status, graph, or type. Use after uploading files to inspect available files. - writer_list_graphs(after?: string, limit?: integer, order?: string, before?: string) — Tool to retrieve a list of knowledge graphs. Use when you need an overview of existing graphs. - writer_list_models() — Tool to list all available language models. Use when you need to discover which models can be used for completions. - writer_medical_comprehend(text: string) — Tool to extract medical entities and concepts from unstructured clinical text. Use when you need to label medical text with standardized codes such as SNOMED CT. - writer_parse_pdf(format: string, file_id: string) — Tool to parse and extract text content from a previously uploaded PDF file. Use when you need to convert PDF documents to text or markdown format for further processing. - writer_remove_file_from_graph(file_id: string, graph_id: string) — Tool to remove a file from a Knowledge Graph. Use when you need to unlink a specific file from a graph by providing both graph and file identifiers. - writer_retrieve_graph(graph_id: string) — Tool to retrieve a knowledge graph by its ID. Use when you need details of an existing graph. - writer_text_generation(stop?: string[], model: string, top_p?: number, prompt: string, max_tokens?: integer, temperature?: number) — Tool to generate text based on a given prompt. Use when you need model-driven completions after crafting a prompt. - writer_translate_text(text: string, model: string, formality: boolean, length_control: boolean, mask_profanity: boolean, source_language_code: string, target_language_code: string) — Tool to translate text from one language to another with support for formality, length control, and profanity masking. Use when you need to convert text between different languages. - writer_update_graph(name?: string, graph_id: string, description?: string) — Tool to update an existing knowledge graph. Use after confirming the graph_id. Specify at least one of name or description to modify. - writer_upload_file(file: object) — Tool to upload a file to Writer. Use when you need to add files for Knowledge Graphs, PDF parsing, or other file-based operations. Files can be associated with Knowledge Graphs for RAG applications. - writer_web_search(query: string, topic?: string, time_range?: string, max_results?: integer, search_depth?: string, include_answer?: boolean, exclude_domains?: string[], include_domains?: string[]) — Tool to perform a web search. Use when you need relevant web page results for a given query. ## Example prompts - "What can I do in Writer?" - "Show me a summary of my Writer account" ## Links Docs: https://mcp.ai/docs/mcps/writer Website: https://mcp.ai/mcps/writer