Filelayer
Local package path declaredCredentials listedRepository declared by sourceUpdated 2026-10-11
dev.filelayer/core · Registry status: active
At a glance
User files for a SaaS, under one person's authority: list, share with an expiry, revoke.
Vendor's own description, untranslated and unverified
- Execution location
- Local package path declared
- Required secrets declared
- Credentials listed
- Declared version and change
0.26.0· Source-reported change date 2026-10-11- Repository as declared
- github.com/filelayer/filelayer
- Configuration
- can be built from the disclosed start template
Inspect connection paths and prerequisites
Related categories
- MCP servers with declared required secrets6,168
- Locally executed MCP servers17,251
- MCP servers with a repository URL30,564
- Local MCP servers with a repository URL16,336
- MCP servers over stdio only13,862
- MCP servers as an npm package only10,279
6 of 13 categories. All categories in the segment catalogue
Page last changed:
Sources and collection
- Runs
- Local package path declared
- Credentials
- Credentials listed
- Registry record changed
- 2026-10-11
- Setup
- Template available
- Registry name
dev.filelayer/core- Package coordinate
npm:@filelayer/core- Declared version
0.26.0- Source-reported listing date
- 2026-10-11
- Source-reported change date
- 2026-10-11
- First seen by tracevero
- 2026-10-12
- Vendor's website
- https://filelayer.dev
Evidence for this page · Source: MCP-Register · collected on 2026-10-12
Every value below comes from it. Where one differs, its origin is stated on its row. What the confidence levels mean
Measured values
| Required secrets declared | Credentials listed yes Original data – Required secret variables (raw): DATABASE_URL Original data – Required secret headers (raw): confirmed absent Source: MCP-Register · collected on 2026-10-12 · derived |
|---|---|
| Execution location | Local package path declared local Original data – Transports (raw): stdio Source: MCP-Register · collected on 2026-10-12 · derived |
| Path argument present | no Original data – Path arguments (raw): confirmed absent Original data – Path environment variables (raw): confirmed absent Source: MCP-Register · collected on 2026-10-12 · derived |
| Repository URL listed | Repository declared by source yes Original data – Repository (raw): https://github.com/filelayer/filelayer Source: MCP-Register · collected on 2026-10-12 · derived |
| Declared version | 0.26.0 Source: MCP-Register · collected on 2026-10-12 · self-declared |
What is measured is what a manifest declares, not what a piece of software does. This registry fetches no repository URL, no endpoint and no package index; nothing here is verified. Which value comes from which source, and by which rule it was formed, is set out in the Methodology.
Source data25
All 25 values in this block: self-declared.
| Description (raw) | User files for a SaaS, under one person's authority: list, share with an expiry, revoke. |
|---|---|
| Environment variables (raw) | DATABASE_URL, FILELAYER_AS, FILELAYER_ORG, FILELAYER_DATA_DIR, S3_ENDPOINT, S3_BUCKET, S3_REGION, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, FILELAYER_MCP_AGENT_LABEL, FILELAYER_MCP_ALLOW_DESTRUCTIVE, FILELAYER_MCP_EXPOSE_AUDIT, FILELAYER_MCP_RETURN_BYTES, FILELAYER_BASE_URL |
| Required secret variables (raw) | DATABASE_URL |
| Transports (raw) | stdio |
| Path arguments (raw) | confirmed absent |
| Repository (raw) | https://github.com/filelayer/filelayer |
| Package registries (raw) | npm |
| Required secret headers (raw) | confirmed absent |
| Path environment variables (raw) | confirmed absent |
| Remote URLs (raw) | confirmed absent |
| Remote hosts (raw) | confirmed absent |
| Registry status message (raw) | confirmed absent |
| First listed in the registry (raw) | 2026-10-11 |
| Last changed in the registry (raw) | 2026-10-11 |
| Schema version of the raw record (raw) | https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json |
| Delivery form (raw) | package |
| Repository platform (raw) | github |
| Repository subfolder (raw) | packages/core |
| Package identifiers (raw) | @filelayer/core |
| Package versions (raw) | 0.26.0 |
| Runtime hints (raw) | npx |
| Environment variable formats (raw) | confirmed absent |
| Environment variable descriptions (raw) | DATABASE_URL=Your own PostgreSQL, where this library keeps file ownership, grants and the audit chain. Apply node_modules/@filelayer/core/schema.sql once before starting. · FILELAYER_AS=The ONE subject this server speaks for, in your own id space. Fixed for the life of the process: no tool reads it as an argument and no tool can change it, which is the only reason exposing these tools to an agent is safe. Write it yourself or have your provisioning write it, never derive it from a conversation. Serving several people means starting several servers. · FILELAYER_BASE_URL=The base of the share URLs this instance mints. Without it, share links come back without a URL. · FILELAYER_DATA_DIR=A local directory for the bytes. Needs no bucket and no IAM user. Set this OR the S3_* block: with neither, the server refuses to start rather than falling back to memory, which would work in a demo and lose the first real file. · FILELAYER_MCP_AGENT_LABEL=How this agent names itself in the audit trail, recorded on every event these tools produce. It is what lets the chain separate "the partner opened this document" from "the partner's assistant opened this document". · FILELAYER_MCP_ALLOW_DESTRUCTIVE=Set to exactly `true` to register delete_file. Off by default because deleting is not recoverable and an agent that misreads a sentence deletes the wrong thing silently. · FILELAYER_MCP_EXPOSE_AUDIT=Set to exactly `true` to register file_audit. Off by default for a specific reason: reading the audit trail is the one act this library does not itself record, so an agent could read an organisation's entire history and leave nothing behind. See LIMITATIONS.md entry 16. · FILELAYER_MCP_RETURN_BYTES=Set to exactly `true` to register read_file. Off by default because a document returned by a tool is a document copied into a model's context; file_info plus a share link is usually what was actually needed. · FILELAYER_ORG=The organisation this server is scoped to, in your own id space. · S3_ACCESS_KEY_ID=Access key id for the bucket. · S3_BUCKET=The bucket. It must be private: this library decides who may be GIVEN a URL and has no say in who the object store will answer. `npx -p @filelayer/core filelayer doctor` reports whether yours serves unauthenticated reads. · S3_ENDPOINT=An S3-compatible endpoint, for example https://<account>.r2.cloudflarestorage.com. Setting it makes S3_BUCKET, S3_ACCESS_KEY_ID and S3_SECRET_ACCESS_KEY required. · S3_REGION=Region, or `auto` for Cloudflare R2. · S3_SECRET_ACCESS_KEY=Secret access key for the bucket. |
| Icon formats (raw) | confirmed absent |
| Connection paths (source structure) | {"packages":[{"registryType":"npm","identifier":"@filelayer/core","version":"0.26.0","runtimeHint":"npx","transport":"stdio","environment":[{"name":"DATABASE_URL","description":"Your own PostgreSQL, where this library keeps file ownership, grants and the audit chain. Apply node_modules/@filelayer/core/schema.sql once before starting.","required":true,"secret":true},{"name":"FILELAYER_AS","description":"The ONE subject this server speaks for, in your own id space. Fixed for the life of the process: no tool reads it as an argument and no tool can change it, which is the only reason exposing these tools to an agent is safe. Write it yourself or have your provisioning write it, never derive it from a conversation. Serving several people means starting several servers.","required":true,"secret":false},{"name":"FILELAYER_ORG","description":"The organisation this server is scoped to, in your own id space.","required":true,"secret":false},{"name":"FILELAYER_DATA_DIR","description":"A local directory for the bytes. Needs no bucket and no IAM user. Set this OR the S3_* block: with neither, the server refuses to start rather than falling back to memory, which would work in a demo and lose the first real file.","required":false,"secret":false},{"name":"S3_ENDPOINT","description":"An S3-compatible endpoint, for example https://<account>.r2.cloudflarestorage.com. Setting it makes S3_BUCKET, S3_ACCESS_KEY_ID and S3_SECRET_ACCESS_KEY required.","required":false,"secret":false},{"name":"S3_BUCKET","description":"The bucket. It must be private: this library decides who may be GIVEN a URL and has no say in who the object store will answer. `npx -p @filelayer/core filelayer doctor` reports whether yours serves unauthenticated reads.","required":false,"secret":false},{"name":"S3_REGION","description":"Region, or `auto` for Cloudflare R2.","required":false,"secret":false},{"name":"S3_ACCESS_KEY_ID","description":"Access key id for the bucket.","required":false,"secret":true},{"name":"S3_SECRET_ACCESS_KEY","description":"Secret access key for the bucket.","required":false,"secret":true},{"name":"FILELAYER_MCP_AGENT_LABEL","description":"How this agent names itself in the audit trail, recorded on every event these tools produce. It is what lets the chain separate \"the partner opened this document\" from \"the partner's assistant opened this document\".","required":false,"secret":false},{"name":"FILELAYER_MCP_ALLOW_DESTRUCTIVE","description":"Set to exactly `true` to register delete_file. Off by default because deleting is not recoverable and an agent that misreads a sentence deletes the wrong thing silently.","required":false,"secret":false},{"name":"FILELAYER_MCP_EXPOSE_AUDIT","description":"Set to exactly `true` to register file_audit. Off by default for a specific reason: reading the audit trail is the one act this library does not itself record, so an agent could read an organisation's entire history and leave nothing behind. See LIMITATIONS.md entry 16.","required":false,"secret":false},{"name":"FILELAYER_MCP_RETURN_BYTES","description":"Set to exactly `true` to register read_file. Off by default because a document returned by a tool is a document copied into a model's context; file_info plus a share link is usually what was actually needed.","required":false,"secret":false},{"name":"FILELAYER_BASE_URL","description":"The base of the share URLs this instance mints. Without it, share links come back without a URL.","required":false,"secret":false}],"additional_arguments_declared":true}],"remotes":[]} |
Embed this badge
Paste this line into a README of your own. The badge states how many values the registry holds for the entry and when it last looked, and it links back to this page.
[](https://tracevero.com/mcp/dev-filelayer-core)
The image is drawn again on every request, so it always reports the current state while the pasted line stays as it is. It carries no rating and no traffic light – only the two measured figures.
Changes
| 2026-10-12 | Declared version: – → 0.26.0 |
|---|---|
| 2026-10-12 | Repository URL listed: – → yes |
| 2026-10-12 | Path argument present: – → no |
These are the 3 most recent changes to this entry. Full history
tracevero · https://tracevero.com/mcp/dev-filelayer-core