> ## Documentation Index
> Fetch the complete documentation index at: https://portfolio.subinb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> Connect your AI tools to Subin's portfolio via MCP. Ask about his experience, skills, and work samples directly in Claude, Cursor, and more.

## About this MCP server

The Model Context Protocol (MCP) is an open standard for connecting AI applications to external content sources. This MCP server, generated from Subin's portfolio site, gives MCP-compatible AI clients structured access to his documentation experience, work samples, and professional profile.

When you connect this MCP server to an AI tool, the tool can search Subin's portfolio and retrieve full page content as part of its response generation, without relying on stale training data or general web search results.

### MCP server URL

Subin's portfolio MCP server is publicly available at:

```
https://portfolio.subinb.com/mcp
```

This server is public and doesn't require authentication.

### What it exposes

The MCP server provides two tools that AI agents can use:

| Tool                      | Description                                                                                                                                                                                                                                       |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Search**                | Searches across the portfolio to find relevant content, returning snippets with titles and links. Use this to discover information or find pages matching a query.                                                                                |
| **Query docs filesystem** | Reads and navigates the portfolio's virtual filesystem using shell-style commands. Use this to retrieve full page content, browse the docs structure, or extract specific sections, including batch reads across multiple pages in a single call. |

Agents decide when to use each tool based on context. For example, an agent might first search to find relevant pages and then query docs filesystem to read the full content of the most relevant results.

### Discovery endpoint

Agents and tools can auto-discover this MCP server without prior configuration using the discovery document:

```bash theme={null}
curl https://portfolio.subinb.com/.well-known/mcp
```

This returns a JSON document describing the available MCP servers and their transport configuration, allowing AI orchestration tools to locate and connect to the server automatically.

## Connect to AI clients

Connect the MCP server to your preferred AI tool. Select your tool to get started.

<Tabs>
  <Tab title="Claude">
    Claude supports remote MCP servers natively through **Connectors** settings.

    <Steps>
      <Step title="Open Connectors.">
        Go to **Customize → [Connectors](https://claude.ai/settings/connectors)**.
      </Step>

      <Step title="Add a custom connector.">
        <Tabs>
          <Tab title="Free plan">
            <Note>
              Free accounts support one custom connector. If you've already used your
              connector slot, remove the existing one first before adding this server.
            </Note>

            <Steps>
              <Step>
                Select **Add custom connector**. Enter the following:

                | Field | Value                              |
                | ----- | ---------------------------------- |
                | Name  | `Subin's Portfolio`                |
                | URL   | `https://portfolio.subinb.com/mcp` |
              </Step>

              <Step>
                Select **Add**.
              </Step>
            </Steps>
          </Tab>

          <Tab title="Pro / Max plans">
            <Steps>
              <Step>
                Select **Add custom connector**. Enter the following:

                | Field | Value                              |
                | ----- | ---------------------------------- |
                | Name  | `Subin's Portfolio`                |
                | URL   | `https://portfolio.subinb.com/mcp` |
              </Step>

              <Step>
                Select **Add**.
              </Step>
            </Steps>
          </Tab>

          <Tab title="Team / Enterprise plans">
            An Owner must first add the connector at the organization level:

            <Steps>
              <Step>
                Go to **Organization settings → Connectors**.
              </Step>

              <Step>
                Select **Add** → **Custom** → **Web**. Enter the following:

                | Field | Value                              |
                | ----- | ---------------------------------- |
                | Name  | `Subin's Portfolio`                |
                | URL   | `https://portfolio.subinb.com/mcp` |
              </Step>

              <Step>
                Select **Add**.
              </Step>
            </Steps>

            Members can then connect individually under **Customize → Connectors**.
          </Tab>
        </Tabs>
      </Step>

      <Step title="Verify the connection.">
        Try this prompt in a new chat:

        ```
        Search the portfolio and summarize Subin's experience with AI tools.
        ```

        Claude should query the MCP server and return results based on the portfolio content.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Claude Code">
    Claude Code lets you add MCP servers with a single CLI command.

    <Steps>
      <Step title="Add the MCP server.">
        <Tabs>
          <Tab title="Add globally">
            Run this command to add the MCP server to your global Claude Code configuration:

            ```bash theme={null}
            claude mcp add --transport http subin-portfolio https://portfolio.subinb.com/mcp
            ```
          </Tab>

          <Tab title="Add for a specific project">
            Run this command to add the MCP server scoped to a project:

            ```bash theme={null}
            claude mcp add --transport http --scope project subin-portfolio https://portfolio.subinb.com/mcp
            ```

            <Tip>
              Project-scoped servers are stored in `.claude/` and shared automatically with
              teammates who clone the repo.
            </Tip>
          </Tab>
        </Tabs>
      </Step>

      <Step title="Confirm the server is listed.">
        Verify the server is connected by running:

        ```bash theme={null}
        claude mcp list
        ```
      </Step>

      <Step title="Verify the connection.">
        Try this prompt in a new Claude Code session:

        ```
        Search the portfolio and summarize Subin's experience with AI tools.
        ```

        Claude Code should query the MCP server and return results based on the portfolio content.
      </Step>
    </Steps>
  </Tab>

  <Tab title="OpenAI Codex">
    Codex lets you add MCP servers with a single CLI command. The configuration is shared between the Codex CLI and IDE extension.

    <Steps>
      <Step title="Add the MCP server.">
        Run this command to add the MCP server to your Codex configuration:

        ```bash theme={null}
        codex mcp add subin-portfolio --url https://portfolio.subinb.com/mcp
        ```
      </Step>

      <Step title="Confirm the server is listed.">
        Verify the server is connected by running:

        ```bash theme={null}
        codex mcp list
        ```
      </Step>

      <Step title="Verify the connection.">
        Try this prompt in a new Codex session:

        ```
        Search the portfolio and summarize Subin's experience with AI tools.
        ```

        Codex should query the MCP server and return results based on the portfolio content.
      </Step>
    </Steps>
  </Tab>

  <Tab title="OpenCode">
    OpenCode supports remote MCP servers through its JSON config file.

    <Steps>
      <Step title="Open the config file.">
        Open or create the global OpenCode config file at:

        ```
        ~/.config/opencode/opencode.json
        ```

        To add the server scoped to a single project instead, create `opencode.json` in the project root.
      </Step>

      <Step title="Add the MCP server.">
        Add the following under the `mcp` key. If you already have other servers configured, add this entry alongside them.

        ```json opencode.json theme={null}
        {
          "$schema": "https://opencode.ai/config.json",
          "mcp": {
            "subin-portfolio": {
              "type": "remote",
              "url": "https://portfolio.subinb.com/mcp",
              "enabled": true
            }
          }
        }
        ```
      </Step>

      <Step title="Verify the connection.">
        Run the following command to confirm the server is listed and connected:

        ```bash theme={null}
        opencode mcp list
        ```

        The `subin-portfolio` server should appear with a connected status.
      </Step>

      <Step title="Use in a session.">
        Start OpenCode and reference the server in your prompt:

        ```
        Search the portfolio and summarize Subin's technical writing experience.
        ```
      </Step>
    </Steps>

    <Tip>
      You can also add the server interactively by running `opencode mcp add` and
      following the prompts.
    </Tip>
  </Tab>

  <Tab title="Cursor">
    Cursor supports MCP servers natively through its JSON config file.

    <Steps>
      <Step title="Open the config file.">
        Open or create the global Cursor MCP config file at:

        ```
        ~/.cursor/mcp.json
        ```
      </Step>

      <Step title="Add the MCP server.">
        Add the portfolio server to the `mcpServers` object. If you already have other servers configured, add this entry alongside them.

        ```json ~/.cursor/mcp.json theme={null}
        {
          "mcpServers": {
            "subin-portfolio": {
              "url": "https://portfolio.subinb.com/mcp"
            }
          }
        }
        ```
      </Step>

      <Step title="Verify the connection.">
        Go to **Cursor Settings → Tools & MCPs** to confirm if the server is connected. A green indicator next to `subin-portfolio` confirms a successful connection.
      </Step>

      <Step title="Use in a session.">
        Open Cursor Chat and reference the portfolio in your prompt:

        ```
        Search the portfolio and summarize Subin's experience with AI tools.
        ```

        Cursor will automatically query the server and return results based on the portfolio content.
      </Step>
    </Steps>
  </Tab>

  <Tab title="VS Code">
    GitHub Copilot in Visual Studio Code supports MCP servers through a workspace or user-level configuration file.

    <Steps>
      <Step title="Add the MCP server.">
        <Tabs>
          <Tab title="Workspace">
            Create or edit `.vscode/mcp.json` in your project root:

            ```json .vscode/mcp.json theme={null}
            {
              "servers": {
                "subin-portfolio": {
                  "type": "http",
                  "url": "https://portfolio.subinb.com/mcp"
                }
              }
            }
            ```
          </Tab>

          <Tab title="User">
            To add the server globally across all workspaces:

            <Steps>
              <Step title="Open the command palette.">
                Press **Ctrl+Shift+P** or **Cmd+Shift+P**.
              </Step>

              <Step title="Open the user MCP configuration.">
                Type `MCP: Open User Configuration` and select it.
              </Step>

              <Step title="Add the MCP server.">
                Add the following:

                ```json mcp.json theme={null}
                {
                  "servers": {
                    "subin-portfolio": {
                      "type": "http",
                      "url": "https://portfolio.subinb.com/mcp"
                    }
                  }
                }
                ```
              </Step>
            </Steps>
          </Tab>
        </Tabs>
      </Step>

      <Step title="Enable the MCP server.">
        After saving, open Copilot Chat and select the **Configure Tools** icon to enable the portfolio MCP server for your chat sessions.
      </Step>

      <Step title="Verify the connection.">
        Try this prompt in a new Copilot Chat:

        ```
        Search the portfolio and summarize Subin's experience with AI tools.
        ```

        Copilot should query the MCP server and return results based on the portfolio content.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Other clients">
    Any MCP-compatible client can connect to this server using the HTTP transport. Use the following URL when your client asks for a server endpoint:

    ```
    https://portfolio.subinb.com/mcp
    ```
  </Tab>
</Tabs>

## Tips for best results

Getting the most out of this MCP server requires guiding your AI client effectively.

* **Be specific in your prompts**: The more precise your query, the more relevant the results.
  <Accordion title="Examples">
    | Instead of           | Try                                                                     |
    | -------------------- | ----------------------------------------------------------------------- |
    | Tell me about Subin  | What are Subin's key skills?                                            |
    | What has Subin done? | What developer documentation work is in Subin's portfolio?              |
    | Summarize everything | What does Subin's portfolio say about his API documentation experience? |
  </Accordion>

* **Keep queries single-topic**: MCP retrieval works best on focused questions. Broad queries like *Tell me everything about Subin* return shallow results across many pages. Single-topic queries return deeper, more useful content.

* **Disconnect when not in use**: Active MCP servers consume part of your AI's
  context window. Disconnecting servers you're not using keeps more context
  available for your actual work.

* **Combine with your own context**: The MCP server retrieves what's
  in the portfolio. You can combine that with your own context to
  get more tailored answers:
  <Prompt description="Check Subin's fit for the role">
    I'm hiring for a senior technical writer role focused on developer
    documentation. Search the portfolio and tell me how Subin's experience maps
    to this role.
  </Prompt>
