Deploy and review

Document local and remote setup

Write a README that lets another person reproduce either transport without receiving your credentials or machine-specific paths.

8 minute lesson

~~~

Documentation is part of the server interface. Another person should be able to reproduce both transports without knowing your machine.

Give README.md this structure:

  1. Requirements and tested versions
  2. Install and type-check commands
  3. Local stdio setup
  4. Remote HTTP setup
  5. Capability reference
  6. Security model
  7. Troubleshooting

Show a local host configuration with placeholders:

{
  "mcpServers": {
    "project-notes": {
      "command": "npx",
      "args": [
        "tsx",
        "/ABSOLUTE/PATH/project-notes-mcp/src/index.ts"
      ]
    }
  }
}

Explain that the host launches this command and owns the stdio process. Document which environment variables it passes, but never paste their values.

For HTTP, document the exact /mcp URL, supported protocol era, authorization requirement, and safe Inspector procedure. A browser GET is not a complete MCP test.

List every capability with its arguments, result shape, side effects, and required access. State that both tools are read-only, then point to the implementation and backend permission that make the statement true.

Add troubleshooting for wrong absolute paths, ES module errors, text written to stdout, unsupported protocol versions, wrong origins, 401, and 403 responses.

Clone the project into a clean folder and follow only the README. Every missing assumption is a documentation bug.

Lesson completed

Take this course offline

Get every free book and course as PDF and EPUB files.

Get the download library →