sample-mcp-server-tos

sample-mcp-server-tos avatar

by

Community Servers

What is sample-mcp-server-tos

Sample TOS Model Context Protocol Server

An MCP server implementation for retrieving data from TOS.

Features

Resources

Expose volcengine TOS Data through Resources. (think of these sort of like GET endpoints; they are used to load information into the LLM's context). Currently only PDF documents supported and limited to 1000 objects.

Tools

  • ListBuckets
    • Returns a list of all buckets owned by the authenticated sender of the request
  • ListObjectsV2
    • Returns some or all (up to 1,000) of the objects in a bucket with each request
  • GetObject
    • Retrieves an object from volcengine TOS. In the GetObject request, specify the full key name for the object. General purpose buckets - Both the virtual-hosted-style requests and the path-style requests are supported

Configuration

Setting up volcengine Credentials

  1. Obtain volcengine access key ID, secret access key, and region from the volcengine Management Console and configure credentials files using Default profile
  2. Ensure these credentials have appropriate permission READ/WRITE permissions for TOS.

Usage with Claude Desktop

Claude Desktop

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "tos-mcp-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/user/generative_ai/model_context_protocol/tos-mcp-server",
        "run",
        "tos-mcp-server"
      ]
    }
  }
}
{
  "mcpServers": {
    "TOS-mcp-server": {
      "command": "uvx",
      "args": [
        "tos-mcp-server"
      ]
    }
  }
}

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:
uv sync
  1. Build package distributions:
uv build

This will create source and wheel distributions in the dist/ directory.

  1. Publish to PyPI:
uv publish

Note: You'll need to set PyPI credentials via environment variables or command flags:

  • Token: --token or UV_PUBLISH_TOKEN
  • Or username/password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Security

See CONTRIBUTING for more information.

License

This library is licensed under the MIT-0 License. See the LICENSE file.

Leave a Comment

Comments section will be available soon. Stay tuned!

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.