Skip to main content

Bullpen MCP Guide for Claude Code

Augment Claude Code with Bullpen MCP

Bullpen MCP lets Claude Code work with your Bullpen projects, dataroom files, reports, templates, and knowledge sets.

You can ask for what you need in plain language: “Search my Bullpen projects for Acme and list its reports.”

Claude Code will choose the right Bullpen tools automatically. If you already know the tool you want, you can mention it by name, but most workflows work best as normal requests.

Bullpen Skills

Bullpen skills package common multi-step workflows so you do not have to think through each tool call yourself.

bullpen-upload

With bullpen-upload, you can send a local folder into a Bullpen project dataroom and let Claude Code handle the upload flow.

Example:

Use bullpen-upload to upload ./data-room into the Acme project in Bullpen.

Claude Code will find or confirm the destination project, scan the folder, warn before very large uploads, skip hidden/system files by default, convert large Excel files into CSV files, upload the files, check processing status, and report what succeeded or failed.

Useful details:

  • Single files can be up to 500 MB.

  • Upload links expire after 30 minutes.

  • Uploads must include the returned requiredHeaders.

  • Processing status is checked with get_upload_status.

bullpen-report-template-json

With bullpen-report-template-json, you can turn an existing report, Markdown file, or deck-style outline into reusable Bullpen template JSON.

Example:

Use bullpen-report-template-json to convert this markdown report into Bullpen template JSON.

Claude Code will preserve the structure and tone of the source, create templateSchema instructions, replace variable content with bracketed generation instructions, keep section ids stable, and manage dependOn dependencies so sections generate in a predictable order.

Use this skill when the goal is to create or improve reusable report templates, especially before using the template tools below.

Common Bullpen MCP Workflows

To find a project and answer questions from its files, Claude Code can search for the project, browse the dataroom, search indexed documents, and then read the most relevant file sections.

Typical tools:

  1. search_projects_by_name

  2. list_directory

  3. file_search

  4. read_file or get_file

To create a report from a template, Claude Code can find the project, choose a template, create the report, and then read the generated sections.

Typical tools:

  1. search_projects_by_name

  2. list_templates

  3. create_report

  4. get_report

To upload and index a file, Claude Code can prepare an upload URL, upload the local file, check processing status, and confirm that the file is visible or searchable.

Typical tools:

  1. upload_file

  2. Upload the file to the returned uploadUrl with all requiredHeaders

  3. get_upload_status

  4. list_directory or file_search

To validate a report, Claude Code can start validation, wait for results, and inspect specific sections that need attention.

Typical tools:

  1. generate_report_validations

  2. get_report_validations

  3. get_report_section_validation

Project Tools

With project tools, you can find the right Bullpen project, create a new one, update project details, share access, and discover the reports that belong to a project. These tools are usually the first step before working with files, reports, or templates.

  • search_projects_by_name(name_filter, page_size, order_field, order_direction): find projects by name when you know the company, fund, deal, or project label.

  • list_projects(): browse the projects you can access when you do not know the exact name.

  • get_project(project_id): pull project details, such as name, description, type, and audience.

  • create_project(name, description): create a new project when the user clearly wants a new workspace.

  • edit_project(project_id, name, description): rename a project or update its description.

  • share_project(project_id, contacts): give access to one or more people by email or user id.

  • list_project_reports(project_id): see which reports exist in a project before reading, editing, validating, or exporting them.

File and Dataroom Tools

With file and dataroom tools, you can explore a project's documents, answer questions from uploaded files, read specific files, upload new material, and organize folders. Use search when you are looking for an answer; use direct read tools when you already know the file.

Finding information:

  • list_directory(resource_id, path): browse folders and files so you can see what is available.

  • file_search(resource_id, queries, original_user_query, path_contains, rewrite_query, skip): search across indexed dataroom content for relevant facts.

  • search_file_in_path(resource_id, file_id, queries): search inside one specific file after you have identified it.

  • get_files_overview(resource_id, file_key): preview a file's summary, sections, and keywords before reading the full content.

Reading documents:

  • read_file(resource_id, file_id, after_section_number): read a file in sections, useful for long documents.

  • get_file(resource_id, file_key): read a file by its dataroom path or key.

Organizing documents:

  • index_file(resource_id, file_key, should_index): turn AI indexing on or off for a file.

  • move_file(resource_id, old_path, new_path, is_folder): move or rename a file or folder.

  • move_files_between_resources(source_resource_id, source_path, file_name, target_resource_id, target_path): copy a file into another resource.

  • store_text_in_files(resource_id, title, message_content): save generated notes or text as a Markdown file in the dataroom.

Uploading documents:

  • upload_file(resource_id, file_name, path, should_index): create an upload URL for a local file.

  • get_upload_status(job_id): check whether an upload is still processing, completed, failed, or cancelled.

Report Tools

With report tools, you can create reports, inspect report sections, edit content and metadata, regenerate generated sections, export finished reports, and validate report quality. Most report actions need both a project_id and a report_id, so start with project/report discovery if those ids are unknown.

Creating and reading reports:

  • create_report(project_id, name, sector, purpose, subject, creator, publish_status, override_instructions, instructions, preset_id, skip_connector_validation): create a report, optionally from a template.

  • get_report(project_id, report_id): read all sections in a report.

  • get_report_section(project_id, report_id, module_id): read one section, including its content, schema, and prompts.

Editing reports:

  • edit_report(project_id, report_id, name, sector, purpose, subject, creator, override_instructions, instructions): update report-level metadata and instructions.

  • edit_report_module(project_id, report_id, module_id, new_document_content, user_request, original_text, selected_text): replace a section's text content.

  • create_report_section(project_id, report_id, name, generation_mode, content, position, custom_prompts): add a new live section.

  • edit_report_section(project_id, report_id, module_id, content, template_schema, custom_prompts): update section content, template schema, or custom prompts.

Generating and exporting reports:

  • regenerate_report(project_id, report_id): retry the last full report generation job.

  • regenerate_report_section(project_id, report_id, module_id): regenerate a single section.

  • export_report_to_dataroom(project_id, report_id, formats): export a report into the dataroom. Supported formats include pdf, docx, html, md, gamma-presentation, and gamma-document.

  • templatize_report(project_id, report_id): turn an existing report into a reusable template.

Validating reports:

  • generate_report_validations(project_id, report_id): start validation for all report sections.

  • generate_report_section_validation(project_id, report_id, module_id): start validation for one section.

  • get_report_validations(project_id, report_id): review validation results across the full report.

  • get_report_section_validation(project_id, report_id, module_id): review validation details for one section.

Template Tools

With template tools, you can discover reusable report templates, inspect their sections, create new templates, edit template sections, duplicate templates into projects, and promote templates for broader use.

Finding and reading templates:

  • list_templates(name_filter): find available templates and get their ids.

  • get_template(preset_id): read the full template, including sections, content, templateSchema, and custom prompts.

  • get_template_section(preset_id, module_template_id): inspect one template section.

Creating and editing templates:

  • create_template(project_id, name, additional_instructions, modules): create a new project template.

  • create_template_section(preset_id, name, purpose, template_schema, custom_prompts): add a section to an existing template.

  • edit_template_section(preset_id, module_template_id, content, template_schema, custom_prompts): update a template section's content, schema, or prompts.

Reusing templates:

  • duplicate_template(project_id, preset_id): copy a template into a target project.

  • promote_template(preset_id, scope): promote a template to global_tenant or global scope.

Knowledge Tools

With knowledge tools, you can create reusable knowledge sets, search them for reference material, inspect individual entries, and maintain curated guidance for future Bullpen work. Use get_knowledge_guidelines before creating entries, and get explicit confirmation before updating or deleting existing entries.

Managing knowledge sets:

  • get_knowledge_tools(): see the available knowledge-related tools.

  • get_knowledge_guidelines(): read guidance for writing useful knowledge entries.

  • list_knowledge_sets(filter): find available knowledge sets.

  • create_knowledge_set(name, description): create a new collection of reusable knowledge.

  • update_knowledge_set(knowledge_set_id, name, description): update a knowledge set's name or description.

Finding and reading knowledge:

  • knowledge_search(ids, query): search one or more knowledge sets for relevant content.

  • list_knowledge_entries(knowledge_set_id, has_conflict, page_size): browse entries in a knowledge set.

  • get_knowledge_entry(knowledge_set_id, entry_id): read one knowledge entry.

  • batch_get_knowledge_entries(knowledge_set_id, entry_ids): read up to 25 entries at once.

Changing knowledge entries:

  • create_knowledge_entries(knowledge_set_id, entries): add one or more entries to a knowledge set.

  • update_knowledge_entry(knowledge_set_id, entry_id, title, content): update an entry after explicit user confirmation.

  • delete_knowledge_entry(knowledge_set_id, entry_id): delete an entry after explicit user confirmation.

Did this answer your question?